Я хочу выполнить контроллер перед загрузкой 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);
});
}]);
Эта функция я хочу выполнить при загрузке страницы или на странице обновления пользователем. но он выполняется при каждом изменении состояния.
Мы можем использовать метод 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",
})
}]
);
}());