angular run()運行塊


和配置塊不同,運行塊在注入器創建之后被執行,它是所有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在注入器創建后會執行這個函數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM