簡體   English   中英

ng-init函數調用了1000多次

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM