AngularJS ng-repeat 不适用于回调数据
AngularJS ng-repeat doesn't work with callback data
我有一个JavaScript函数
function wantConversation(socket, callback) {
if(socket)
{
socket.emit('user.wantConversation');
}
socket.on('user.getConversation', function(data) {
callback(data);
});
}
它 Return 一个对话列表到一个数组中,我将它调用到我的 Angular 控制器中
var panel_app = angular.module('panel-app', [])
.controller('panel-controller', function($scope){
wantConversation(socket, function(data) {
$scope.conversations = data;
});
};
});
但是我的 ng-repeat 不起作用 :( 我知道问题出在回调函数上。
这是我的 Html
<div ng-repeat="x in conversations | filter: searchBox">
{{ x.name }}
// ...
</div>
当在 angular 上下文之外修改范围时,您需要告诉 angular 以便它可以 运行 一个摘要周期来更新视图
尝试
wantConversation(socket, function(data) {
$scope.conversations = data;
$scope.$apply();// tell angular to update view
});
我有一个JavaScript函数
function wantConversation(socket, callback) {
if(socket)
{
socket.emit('user.wantConversation');
}
socket.on('user.getConversation', function(data) {
callback(data);
});
}
它 Return 一个对话列表到一个数组中,我将它调用到我的 Angular 控制器中
var panel_app = angular.module('panel-app', [])
.controller('panel-controller', function($scope){
wantConversation(socket, function(data) {
$scope.conversations = data;
});
};
});
但是我的 ng-repeat 不起作用 :( 我知道问题出在回调函数上。
这是我的 Html
<div ng-repeat="x in conversations | filter: searchBox">
{{ x.name }}
// ...
</div>
当在 angular 上下文之外修改范围时,您需要告诉 angular 以便它可以 运行 一个摘要周期来更新视图
尝试
wantConversation(socket, function(data) {
$scope.conversations = data;
$scope.$apply();// tell angular to update view
});