gpt4 book ai didi

angularjs - 在 ui-router 中的 $transition.onBefore 中重定向

转载 作者:行者123 更新时间:2023-12-01 09:17:37 24 4
gpt4 key购买 nike

我正在使用 angular 组件和 ui-router 1.0.0-beta.3。
这个版本不发送与改变状态相关的事件,有钩子(Hook)。
在每次状态更改之前,我想重新验证用户是否已通过身份验证以及是否具有所需的 Angular 色。如果不是,我想将他重定向到登录页面。

$transitions.onBefore({}, $transition => {

const $toState = $transition.$to();

if ($toState.data && $toState.data.authentication) {

PrincipalService.identity().then(() => {
return true;
}, () => {
console.log('redirecting');
let $state = $transition.router.stateService;

// not works
//return $state.target('home');
//return $transition.router.stateService.t('login');
});
} else {
return Promise.resolve(false);
}
});

如何使这个工作?在这些情况下,我遇到了关于中断过渡的错误。

我基于 official documentation

最佳答案

使用target来自 stateService在你的条件下。
return $transition.router.stateService.target('login');
您可以在迁移示例 3 (https://ui-router.github.io/guide/ng1/migrate-to-1_0#state-change-events) 中看到它

关于angularjs - 在 ui-router 中的 $transition.onBefore 中重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40159025/

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