2016-06-30 10 views
0

Я хочу выполнить контроллер перед загрузкой step1.html.Как выполнить контроллер перед загрузкой templateUrl

(function() { 
    "use strict"; 
    var app = angular.module("autoQuote",["ui.router","ngResource"]); 

    app.config(["$stateProvider","$urlRouterProvider", function($stateProvider,$urlRouterProvider){ 
     $urlRouterProvider.otherwise("/"); 

     $stateProvider 
      .state("step1", { 
       url : "/", 
       templateUrl : "easyquote/step1.html", 
       controller: "questionsCtrl", 
      })  


      .state("step2", { 
       url : "/step2", 
       templateUrl : "easyquote/step2.html", 
       controller: "questionsCtrl", 
      }) 
    }] 
    ); 
}()); 

Я хочу создать контроллер в файле autoQuoteCtrl.js. и выполнить funtion при загрузке initializeapp

.controller("initializeapp", ["$rootScope",function($rootScope,event, toState, toParams, fromState, fromParams){ 
    $rootScope.$on('$stateChangeStart',function(event, toState, toParams, fromState, fromParams){ 
     console.log('do on page load'+event+'\n'+toParams+'\n'+fromState+'\n'+fromParams); 
    }); 
}]); 

Эта функция, которую я хочу выполнить при загрузке страницы или на странице обновления пользователем. но он выполняется при каждом изменении состояния.

+0

Проверьте это: http://stackoverflow.com/q/24357286/1867608 – Kroderia

+0

Спасибо. где я должен писать этот код? –

+0

После настройки в любом месте вы можете получить $ scope. Вы можете написать контроллер A и иметь ' ', чтобы он выполнялся сразу. – Kroderia

ответ

-1

Мы можем использовать метод angular.element (document) .ready() для присоединения обратных вызовов, когда документ готов. Мы можем просто подключить обратный вызов в контроллере.

(function() { 
"use strict"; 
var app = angular.module("autoQuote",["ui.router","ngResource"]); 
    .controller('autoQuoteCtrl.js', [function() { 
angular.element(document).ready(function() { 

}); 
app.config(["$stateProvider","$urlRouterProvider", function($stateProvider,$urlRouterProvider){ 
    $urlRouterProvider.otherwise("/"); 

    $stateProvider 
     .state("step1", { 
      url : "/", 
      templateUrl : "easyquote/step1.html", 
      controller: "questionsCtrl", 
     })  


     .state("step2", { 
      url : "/step2", 
      templateUrl : "easyquote/step2.html", 
      controller: "questionsCtrl", 
     }) 
}] 
); 
}()); 
Смежные вопросы