簡體   English   中英

從ngRoute遷移到ui.router $ rootScope。$'$ stateChangeStart'上的$不觸發

[英]migrate from ngRoute to ui.router $rootScope.$on '$stateChangeStart' not triggering

我正在嘗試創建一個身份驗證系統。 我在這個(插件教程上打了個基礎, 很棒,但是使用ngRoute,我希望切換到ui.router。

經過一番艱苦的嘗試,我決定進一步搜索以找到此ui.router auth demo(插件)

我替換了一些東西,現在我的代碼看起來像這樣(插頭)

我已經成功地用ui.router替換了ngRoute,但是我有一個小小的大問題:

遇到了module.run方法,但是在它里面,我下面的代碼從未觸發(我只想彈出警報,因此可以繼續編寫重定向邏輯)。

$rootScope.$on('$stateChangeStart', function (e, toState, toParams, fromState, fromParams) {
        alert("enter");

        // redirect to login page if not logged in and trying to access a restricted page
        // var restrictedPage = $.inArray($state.path(), ['/login', '/register']) === -1;
        // var restrictedPage = !($state.includes("login") || $state.includes("register"));

        var loggedIn = $rootScope.globals.currentUser;
        if (!loggedIn) {
            $state.go('login');
        }
    });

我還沒有弄清楚我在做什么錯。 謝謝您的寶貴時間!

試試這個版本。

基本上,使用$transitions而不是$rootScope.$on('$stateChangeStart' ,因為已經棄用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM