gpt4 book ai didi

javascript - 带 Angular $interval 的 Pb

转载 作者:行者123 更新时间:2023-11-29 17:04:20 24 4
gpt4 key购买 nike

谁能解释一下 this plunker 中的附加内容

JS

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope, $interval) {
$scope.name = 'World';


var plop = $interval(function(){}, 1000);

$scope.test = function(){
console.log("test");
}

})

HTML

<body ng-controller="MainCtrl">  
<p ng-class="test()">Hello {{name}}!</p>
</body>

如果你打开控制台,你可以看到“test”在重复输出,但它不在 $interval 函数中!!!

最佳答案

ng-class是在每个 $digest 上评估的属性环形。自 <p>元素的 ng-class是对 test() 的函数调用, test()将在 $digest 上进行评估.

$intervalsetInterval 的包装器绑定(bind)到 Angular 的摘要循环,所以它本质上是在说“每秒运行一次摘要循环”。当摘要循环运行时,test()再次评估,这会导致再次打印控制台消息。

关于javascript - 带 Angular $interval 的 Pb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25869974/

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