动态更改Angular $范围变量

时间:2015-06-12 07:36:59

标签: javascript html angularjs

我有两个数组(范围变量),其值正在动态更新,但在我尝试打印其值时,HTML中的视图没有采用更新的值。

<div>
    <!-- array printing -->
    <span ng-repeat="var in array track by $index">{{var}}</span>
</div>
<div>
    <!-- array -->
    <span ng-repeat="var in array2 track by $index">{{var}}</span>
</div>

当我在控制台日志中打印值时,数组正在更改,但其更改未反映在页面中。

controller.js

$scope.update = function() {

    $scope.array.push(box); 

    // inside an ajax call
    var index = $scope.array.indexOf(box);

    if(index > -1) {
        $scope.array.splice(index,1);
        console.log("index "+index);
    }  
}

1 个答案:

答案 0 :(得分:1)

似乎你的Ajax调用没有被AngularJS调用。也许你正在使用jQuery?

在这种情况下,请在Ajax回调函数结束后尝试使用$scope.$apply();。它将验证所有更改并更新您的视图变量。

您可以详细了解$apply herehere