我發現當我使用ng-include
時,它會被調用太頻繁。ng-include過於頻繁地被調用
每次單擊Nothing
按鈕之一或更改視圖,或者在輸入框中鍵入內容時,getView
會多次運行。更改視圖時最多6次。基本上做任何改變$scope
的東西都會生成getView
的呼叫。
我創建了一個plunker顯示的行爲我描述:plnkr.co
這是正常的行爲,有沒有什麼辦法讓它只運行一次?我擔心我會因此而失去表現。
我的代碼:
的index.html
<body ng-app="includeExample">
<div ng-controller="ExampleController">
<div class="row">
<input type="text" ng-model="unrelated">
</div>
<div class="row">
<tabset>
<tab heading="View 1">
<ng-include src="getView('template1')"></ng-include>
</tab>
<tab heading="View 2">
<ng-include src="getView('template2')"></ng-include>
</tab>
</tabset>
</div>
</div>
</body>
的script.js
angular.module('includeExample', ['ngAnimate', 'ui.bootstrap'])
.controller('ExampleController', ['$scope',
function($scope) {
$scope.getView = function(filename) {
console.log("getView " + new Date());
return filename + ".html";
};
}
]);
Template1.html
Content of template1.html
<button type="button" class="btn btn-primary" ng-click="">Nothing</button>
是的,這是正常的。請參閱https://github.com/angular/angular.js/issues/1305 – runTarm