0

我想知道如果该对象不是“角度的一部分”,我将如何查看 Javascript 对象的更改。因此,例如我有一个模块,我们称之为 watchModule,它可以在窗口中直接访问。我现在正在做的事情(我确定是错的,这就是我寻求帮助的原因!)是这样的

angular.module('test', [])
.factory('WatchModule', function(){
    return watchModule;
})

我遇到了一个问题:

这个对象 (watchModule) 在 DOM 就绪时被实例化。所以,当 angularJS 第一次建立这个服务时,它会返回 undefined。可能直接导致 angularJS 在对象被定义后不会继续更新。

我希望观察这样的物体是可能的。我正在做的项目是一个 WebGL 应用程序,对于某些东西来说,成为 Angular 的“成员”并没有太大意义。我只是宁愿看着他们检索一些值。

4

1 回答 1

0

Angular 可以监视附加到scope根或某个控制器上的对象。它还可以通过在摘要循环中调用函数来监视函数。

在您的情况下,这意味着如果您想监视,watchModule您必须将其附加到范围或创建一个包装它的函数。

$scope.watched=WatchModule;
   $scope.$watch('watched',function(newValue,oldValue) {
});

如果这不起作用,那么情况可能是角度正在观看的参考不是您正在使用的参考。如果你想监视 WatchModule 的子属性,传入一个额外的参数来监视true对象是否相等。

于 2013-09-30T04:24:17.343 回答