Angular +的初学者研究了大多数复杂的$ watch,$ digest和$ apply线程,但我仍然无法使某些工作正常。var masterArray = [obj1, obj2, ... ];
此变量不在任何角度范围内且在普通JS上,并且通过用户的交互作用定期在角度范围之外再次由普通JS更新。
我们如何捕获masterArray
中的更改,以及如何更新关联的$scope
。
app.('mycontroller', ['$scope', function($scope){
$scope.items = masterArray;
}]);
有没有一种方法可以使用masterArray更改来更新
$scope.items
?仅当每次将masterArray
刷新页面时将其重新推送到LocalStorage时,此东西才起作用。类似的问题-我的数据变量(外部角度)在纯js或jquery中通过服务器的回调函数到达时有点晚,但是我的角度范围和变量已在文档加载期间定义。
我找不到一种方法来更新与那些在页面加载期间为null或为空的变量相关联的角度范围,现在使用数据进行更新。
最佳答案
这样的一些黑客应该工作:
app.('mycontroller', function($scope){
$scope.items = masterArray;
$scope.$watch(function() {
return masterArray;
}, function(masterArray) {
$scope.items = masterArray;
});
});
关于javascript - Angular 范围以外的变量变化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35267457/