AngularJS:从$ location到$ route

时间:2017-07-24 19:57:51

标签: javascript angularjs routes

嘿伙计们我改变了我的角度应用程序以使用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');

                }
        });
    });
});

我需要从$ location转换下一个。$$ route.orginalPath 它的$ state替代品? 对不起英语不好,长话短说我需要将我的代码从$ location更新为$ state

1 个答案:

答案 0 :(得分:0)

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

第一个参数'panel'是$ stateProvider.state路由名称(不是url状态),第二个参数是路由参数(如果已定义)。

我可以看到,您正在验证用户每次进入路线时是否有活动会话,这不是一个好习惯。您应该在每次向服务器请求时验证api rest服务上的用户会话(这可以使用角度http拦截器。使用拦截器可以在发送或接收请求时执行某些操作。

这是一个演示:http://i.prntscr.com/IWszLQxwQ9ic09sgyJRpvQ.png)。