角度视图不从$ apply内更新

时间:2015-11-04 23:27:33

标签: 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.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_results的值时,它显示该列表为空。不应该在$ apply函数中更改$ scope变量这一事实意味着视图会更新吗?这只会偶尔发生。我没有看到从AJAX请求返回的任何错误,并且$ .each循环中的所有console.log都按预期打印。我还应该在哪里寻找这个错误?

0 个答案:

没有答案