gpt4 book ai didi

javascript - $location.path() 无法正常工作

转载 作者:行者123 更新时间:2023-11-28 07:03:41 24 4
gpt4 key购买 nike

当用户未经授权时,此代码会更改路径,但仅在页面重新加载后查看更新。$state.reload() 和 $rootScope.apply() 没有帮助。

$rootScope.$on('$stateChangeStart', function (event, next) {
if (!$localStorage.authenticate) {
$rootScope.authenticate = false;

if (next.url == '/reset_password/:token') {
console.log('reset password page');
}
else if (next.url == '/forgot_password') {
$location.path(next.url);

}
else {
$location.path('/login');
}
}
else {
$rootScope.authenticate = true;
if ((next.url == '/login') || (next.url == '/forgot') || (next.url == '/reset_password/:token')) {
$location.path('/index');


}
$rootScope.userName = $localStorage.userName;
API.getService('/login').get(function (res) {
if (!res.logged) {
$location.path('/login');
delete $localStorage.userName;
$localStorage.authenticate = false;
}
})
}
});

最佳答案

在 ui 路由器中,您不应使用 $location

要更改状态,您必须使用此:

 $state.go("mystatename", {urlParam:value});

在 HTML 中不要使用 href,而是使用 ui-sref :

 ui-sref = "mystatename({urlParam:value})"

希望它能解决您的问题。

关于javascript - $location.path() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31875013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com