[英]function in ng-src executed multiple times
我的清單很小,想為每個清單項目執行一個功能。 但是此函數多次執行,我不知道為什么。
HTML:
<body ng-controller="ListCtrl">
<div>
<ul ng-repeat="item in items">
<li>{{item.name}}<img ng-src="{{test()}}"></li>
</ul>
{{counter}}
</div>
</body>
角度:
$scope.items = [
{name: 'foo', },
{name: 'bar', },
{name: 'baz', }
];
var counter= 0;
$scope.test= function(){
$scope.counter=counter++;
console.log("Executed");
}
為什么函數文本多次執行? 另請參見以下示例: http : //plnkr.co/edit/kxJZHCmFs4POd3SVtGZ8
這是預期的行為。 每當在html模板中遇到插值表達式{{}}
都會創建一個監視來跟蹤該表達式中的更改。 在$digest
循環中,表達式可以計算數十次。
切勿在插值表達式中使用函數調用。 僅$scope
定義的引用屬性。 在你的情況下應該是這樣的
$scope.testValue = $scope.test();
{{testValue}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.