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/

10-09 00:46
查看更多