[英]ng-init function called 1000+ times
我有一個像這樣的模塊 :
angular.module('BlurAdmin.pages.calendar', [])
.config(routeConfig);
/** @ngInject */
function routeConfig($stateProvider, $urlRouterProvider) {
$stateProvider
.state('calendar', {
url: '/calendar',
templateUrl : 'http://localhost:8080/gestionprojet/dashboardCalendar',
title: 'Calendrier'
})
}
和一個指令 :
angular.module('BlurAdmin.pages.dashboard')
.directive('dashboardCalendar', dashboardCalendar);
/** @ngInject */
function dashboardCalendar() {
return {
restrict: 'E',
controller: 'DashboardCalendarCtrl',
templateUrl: 'http://localhost:8080/gestionprojet/dashboardCalendar'
};
}
還有一個控制器 :
angular.module('BlurAdmin.pages.dashboard')
.controller('DashboardCalendarCtrl', DashboardCalendarCtrl);
/** @ngInject */
function DashboardCalendarCtrl(baConfig, $uibModal, $scope, eventFactory) {
/**
* Get Events
*/
$scope.getEvents = function () {
eventFactory.getEvents()
.success(function (data) {
$scope.userEvents = data;
$scope.userEvents = $scope.renderEventJSonToFullCalendar($scope.userEvents);
})
.error(function (data, status) {
console.log("fail : " + data);
$scope.errorMessage = "Erreur lors du chargement des évènements : " + data + ' ' + status;
})
};
}
在部分頁面中,我使用以下命令初始化控制器中的函數:
<div ng-init="getEvents()">
<dashboard-calendar>
<div id='calendar' class="blurCalendar"></div>
</dashboard-calendar>
</div>
在這里,該函數被調用了1000次,並且即使我沒有加載指令頁面也正在計數...
這是什么問題,導致我看不到一個。 謝謝
而不是使用ng-init
,您應該在狀態定義中使用resolve
:
$stateProvider
.state('calendar', {
url: '/calendar',
templateUrl : 'http://localhost:8080/gestionprojet/dashboardCalendar',
title: 'Calendrier',
resolve: {
myEvents: function(eventFactory){
return eventFactory.getEvents();
}
}
})
然后, myEvents
將作為依賴項在您的控制器中可用。
問題是我要為狀態和指令放置相同的模板
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.