【问题标题】:change in a variable outside angular scope角度范围外变量的变化
【发布时间】:2016-02-08 10:32:31
【问题描述】:

Angular 的初学者 + 查看了大多数复杂的 $watch、$digest 和 $apply 线程,但我仍然无法使某些工作正常工作。

var masterArray = [obj1, obj2, ... ];

这个变量不在任何 Angular 范围内并且在普通 JS 上,并且通过用户交互定期在 Angular 范围之外由普通 JS 再次更新。

我们如何捕获masterArray 中的变化,并更新关联的$scope

  app.('mycontroller', ['$scope', function($scope){
        $scope.items = masterArray;
    }]);

有没有办法通过 masterArray 更改来更新 $scope.items?这件事只有在我重新加载页面时才有效,因为每次更新时都会将 masterArray 推送到 LocalStorage。

类似的问题 - 我的数据变量(外部角度)在普通 js 或 jquery 中使用来自服务器的回调函数到达有点晚,但我的角度范围和变量已经在文档加载期间定义。

我找不到更新与在页面加载期间为空或为空的变量关联的角度范围的方法,现在用数据更新。

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

像这样的一些技巧应该可以工作:

  app.('mycontroller', function($scope){
      $scope.items = masterArray;
      $scope.$watch(function() {
          return masterArray;
      }, function(masterArray) {
          $scope.items = masterArray;
      });
  });

【讨论】:

  • 谢谢。我也一直在尝试$watch(),但我猜还是不够熟练。
猜你喜欢
  • 2015-08-21
  • 1970-01-01
  • 2016-06-23
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多