这是我的控制器代码
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
window.foo = {bar: 'Foobar'};
$scope.foo = foo;
});
这是我的模板代码
<body ng-controller="MainCtrl">
<p>Hello {{foo.bar}}!</p>
</body>
我尝试从Chrome控制台更改foo.bar
的值,如下所示
foo.bar = "New Name"
但是我没有看到模板的变化,我是AngularJS的新手。谁能解释一下我在这里缺少什么?
您可以在此处查看演示http://plnkr.co/edit/MQv2wJdycAKN6MoajTkI?p=preview
注意:由于我们无法访问全局变量,因为它是iframe
,我使用setTimeout
(我故意不使用$timeout
})在这个例子中
答案 0 :(得分:0)
如果你使用范围超出角度的范围,你需要调用$ scope。$ apply如下:
setTimeout(function() {
$scope.$apply(function() {
foo.bar = "From settimeout";
});
}, 3000);