gpt4 book ai didi

javascript - 从浏览器控制台更改属性不会触发绑定(bind)

转载 作者:行者123 更新时间:2023-11-28 07:27:01 25 4
gpt4 key购买 nike

这是我的 Controller 代码

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)

最佳答案

如果你做的事情的范围超出了 Angular ,你需要像这样调用$scope.$apply:

  setTimeout(function() {
$scope.$apply(function() {
foo.bar = "From settimeout";
});
}, 3000);

关于javascript - 从浏览器控制台更改属性不会触发绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29538339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com