如何在加载templateUrl之前执行控制器

时间:2016-06-30 04:48:54

标签: javascript jquery angularjs

我想在加载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文件中创建控制器。并在load 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);
    });
}]);

此功能我希望在页面加载或用户刷新页面时执行。但它会在每次状态变化时执行。

1 个答案:

答案 0 :(得分:-1)

我们可以使用angular.element(document).ready()方法为文档准备好时附加回调。我们可以简单地在控制器中附加回调。

REPLACE ( str , 'AND AND' , 'AND')