在angularJs中可以看一个全局变量?
我从旧代码设置一个window.test变量,然后我需要看该变量来知道它是否存在.
我已经尝试过类似的东西
$window.$watch("test",function(n,o){ //some code here... }
有些.如果您包含角度
原文链接:https://www.f2er.com/angularjs/142680.html$window
service(如文档中说明的更安全,直接访问窗口),您可以:
app.controller('myCtrl',function ($scope,$window) {...}
然后使用watch功能作为您的$watch
的第一个参数,就像这样:
$scope.$watch( function () { return $window.test },o){ console.log("changed ",n); } );
但请注意,只有在触发Angular才能执行$digest的情况下,才会执行$watch.一个可能的方法是将您的旧代码包含在$范围内.一旦遗留代码已经被执行,$apply应用或触发$digest.这里有一些很好的documentation on this.
基本上每当一个变化发生在角度之外(例如,当jQuery导致变化时这是一个常见的问题),有些事情要告诉Angular去看看是否有变化.这是一个角度保持合理的表现.