Как выполнить контроллер перед загрузкой templateUrl

0

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

 (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
    Проверьте это: stackoverflow.com/q/24357286/1867608
  • 0
    Благодарю. где я должен написать этот код?
Показать ещё 3 комментария

1 ответ

-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",
        })
}]
);
 }());

Ещё вопросы

Сообщество Overcoder
Наверх
Меню