AngularJs中的執行塊
阿新 • • 發佈:2019-02-12
和配置塊不同,執行塊在注入器建立之後被執行,它是所有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在注入器建立後會執行這個函式。