我希望我能處理這個,但方式不好......即我需要使用$cookieStore
來檢查函數調用與否。如何讓angularjs控制器只運行一次,即使在DOM中定義了許多ng控制器?
每次使用push
數組,然後我需要使用$cookieStore
。但它似乎不實際。
這裏是我的DOM:
<div ng-controller="MyCtrl">
<div>
<div ng-include="'temp2.html'">
Hello, {{name}}!
</div>
</div>
</div>
<script type="text/ng-template" id="temp2.html">
<div ng-controller="MyCtrl">Another View</div>
</script>
而且我angularjs控制器:
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
$scope.name = 'Superhero';
alert(1);
}
alert(1)
函數將被調用2次,每次倍的頁面被調用。
如何在不使用監視器的情況下避免此問題?
我的fiddle爲了您的方便。謝謝!
你使用兩次相同的控制器,所以它爲兩個div實例化兩次。這是你如何使用它? – Viplock
由於控制器無法理解ng-include中的哪些視圖,我需要調用它兩次。 – Nere
不,你的看法可以理解它應該遵循哪個控制器 – Viplock