Javascript 角度视图未从$apply内更新
我在Angular指令中有一些代码,如下所示:Javascript 角度视图未从$apply内更新,javascript,angularjs,ajax,angularjs-scope,Javascript,Angularjs,Ajax,Angularjs Scope,我在Angular指令中有一些代码,如下所示: $scope.populateResults = function (list_results) { $scope.$apply(function() { console.log("Applying", list_results); if (list_results.attractions.length === 0) console.log("Empty list");
$scope.populateResults = function (list_results) {
$scope.$apply(function() {
console.log("Applying", list_results);
if (list_results.attractions.length === 0) console.log("Empty list");
$scope.attractionsList.list_results = [];
$.each(list_results.attractions, function(index, attraction) {
console.log("executing for each");
if (attraction) {
attraction.addedWaypoint = false;
$scope.attractionsList.list_results.push(attraction);
}
});
console.log($scope.attractionsList.list_results);
});
};
该函数作为回调传递给另一个文件中处理的AJAX请求。console.log语句都按预期打印所有内容,但视图不变。当我在另一个函数中打印$scope.attractionsList.list\的值时,它显示列表为空。$scope变量在$apply函数中更改的事实是否意味着视图将被更新?这只是偶尔发生的。我没有看到从AJAX请求返回的任何错误,所有的console.log都在$中。每个循环按预期打印。我还应该在哪里查找此错误?您就像已经在范围内的方法…为什么需要应用?您使用的是什么版本的angular?