1. 程式人生 > >AngularJs中的執行塊

AngularJs中的執行塊

和配置塊不同,執行塊在注入器建立之後被執行,它是所有AngularJS應用中第一個被執行的方法。

執行塊是AngularJS中與main方法最接近的概念。執行塊中的程式碼塊通常很難進行單元測試,它是和應用本身高度耦合的。

執行塊通常用來註冊全域性的事件監聽器。例如,我們會在.run()塊中設定路由事件的監聽器以及過濾未經授權的請求。

假設我們需要在每次路由發生變化時,都執行一個函式來驗證使用者的許可權,放置這個功能唯一合理的地方就是run方法:

angular.module('myApp',['ngRoute']).run(function($rootScope,AuthService
){ $rootScope.$on('$routeChangeStart',function(evt,next, current){// 如果使用者未登入if(!AuthService.userLoggedIn()){if(next.templateUrl ==="login.html"){// 已經轉向登入路由因此無需重定向}else{ $location.path('/login');}}});});

run()函式接受一個引數。

  • initializeFn(函式)AngularJS在注入器建立後會執行這個函式。