2017-07-24 48 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

是的,我在服务器端也这样做,这是一个双重验证。 –