Angular +的初学者看了大部分复杂的$ watch,$ digest和$ apply threads,但我仍然无法使某些东西发挥作用。
var masterArray = [obj1, obj2, ... ];
此变量不在任何角度范围内,并且在普通JS上,并且通过用户的交互定期在角度范围之外再次由普通JS更新。
我们如何捕获masterArray
中的更改,并更新相关的$scope
。
app.('mycontroller', ['$scope', function($scope){
$scope.items = masterArray;
}]);
有没有办法用masterArray更改来更新$scope.items
?这个东西只有在我重新加载页面时才会起作用,因为masterArray
每次更新都会被推送到LocalStorage。
类似的问题 - 我的数据变量(外角)在普通js或jquery中使用服务器的回调函数到达时间稍晚,但我的角度范围和变量已经在文档加载期间定义。
我无法找到更新与页面加载期间为null或空的变量关联的角度范围的方法,现在用数据更新。
答案 0 :(得分:1)
这样的一些黑客行为应该有效:
app.('mycontroller', function($scope){
$scope.items = masterArray;
$scope.$watch(function() {
return masterArray;
}, function(masterArray) {
$scope.items = masterArray;
});
});