2017-07-24 78 views
0

嘿傢伙我改變了我的角度應用與ui.router指令一起工作,但我需要改變我已經用$ location創建的代碼,已經改變了所有的東西,但是這部分碼,

app.run(function($rootScope,$location,checkLogin,User){ 
    $rootScope.$on("$routeChangeStart",function(event,next,current){ 
     checkLogin.check(function(response){ 
      if (response) { 
       var nextUrl = next.$$route.orginalPath 

       if (nextUrl == '/login' || nextUrl == '/') { 
        $location.path('panel'); 
       } 
       $rootScope.isLogged =true; 
      }else{ 
        $rootScope.isLogged =false; 
        $location.path('login'); 

       } 
     }); 
    }); 
}); 

我需要從$位置 變換下。$$ route.orginalPath其$狀態的選擇嗎? 對不起,英文不好,長話短說我需要更新我的代碼從$位置到$狀態

回答

0

$ state.go('panel',{'parameter_name':parameter_value});

第一個參數'panel'是$ stateProvider.state路由名稱(不是url狀態),第二個參數是路由參數(如果它們已被定義)。

我可以看到,您正在驗證用戶是否每次進入路由時都有活動會話,這不是一種好的做法。您應該在每次向服務器請求時驗證您的api rest服務上的用戶會話(這可以使用角度http攔截器。使用攔截器可以讓您在發送或接收請求時執行某些操作)

此處演示: http://i.prntscr.com/IWszLQxwQ9ic09sgyJRpvQ.png)。

+0

是的,我在服務器端也這樣做,這是一個雙重驗證。 –