Javascript 如何从'/';通往主干道'的路线/仪表板';首次登录后自动路由?

Javascript 如何从'/';通往主干道'的路线/仪表板';首次登录后自动路由?,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有一个auth.js页面,它决定登录后要指向哪个路由。我正在使用ui路由器进行路由。现在是在捕获登录用户详细信息后,路由相应地发生变化。如果我将路由从“/dashboard”更改为“/”,然后按enter键,然后它首先显示登录页面,然后重定向到我不需要的仪表板。如果我从“/dashboard”转到“/”,那么它应该自动转到仪表板页面,而不必登录页面。如何实现这一点 用户登录时在auth.js中提前感谢(用户登录成功后回调) 希望它能帮助您解决这个问题。当您重定向到“/”页面时。只需在resol

我有一个auth.js页面,它决定登录后要指向哪个路由。我正在使用ui路由器进行路由。现在是在捕获登录用户详细信息后,路由相应地发生变化。如果我将路由从“/dashboard”更改为“/”,然后按enter键,然后它首先显示登录页面,然后重定向到我不需要的仪表板。如果我从“/dashboard”转到“/”,那么它应该自动转到仪表板页面,而不必登录页面。如何实现这一点


用户登录时在auth.js中提前感谢(用户登录成功后回调)


希望它能帮助您解决这个问题。当您重定向到“/”页面时。只需在resolve部分进行检查,无论用户是否登录。如果用户已登录,请重定向到仪表板页面

然后它首先显示登录页面,然后重定向到我不需要的仪表板。如果我从“/dashboard”转到“/”,那么它应该自动转到仪表板页面,而不必登录页面。我如何实现这一点

这取决于你的代码。我建议由后端维护
登录
路由/逻辑(在那里检查凭据,如果未登录,则发送重定向到
/login


..............
//在角JS中
$scope.CheckIfLoggedIn=函数(){
if(loggedinuser){
$location.path(“/dashboard”);
}
};

您可以在登录页面中设置一个ng init,用于检查是否已登录,并将其重定向到仪表板。@Trying2Learn我是angular js新手,在这方面可能有错误,但我正在使用控制器通过ng-show初始化作用域上的布尔值。布尔值检查并显示相应的标记。请检查下面的答案。希望这有帮助。谢谢@Trying2Learn也会研究一下:)如果我使用$location.path,它几乎会立即更改url,但只有在用户解析后页面才会更改。因此,需要3-5秒才能完成不需要的操作:)是的。当用户在其成功回调中解析时,您可以调用
$location.path
。我几乎通过控制器()对布尔值做了相同的操作。不过问题解决了,我必须更改设置登录和仪表板路由的主路由器文件。谢谢:)
//In SignIn success callback.

$state.go('dashboard');//for state
$location.path("/dashboard");//for url dashboard
<!--HTML code-->
<div ng-init="CheckIfLoggedIn()">
  <form id="login-form"> 
  ..............
  </form>
</div>

//in angular JS
$scope.CheckIfLoggedIn = function(){
    if (loggedinuser){
        $location.path("/dashboard");
    }
};