假设我有一条有后卫的路线,AdminGuard只有当我是管理员时我才能进入.
但是当我在那个页面上并且我点击Logout状态通过Observables在所有应用程序中传播时,但我仍然在一条路线中,我不应该进入,因为我已经退出了.
如何"重新激活"临时护卫队?
单击注销时可以导航到同一页面。
(像这样的一些代码应该可以工作,但这可能不是最好的方法。)
`
let currentUrl:string = this.router.url;
this.router.navigateByUrl('/somewhere-else').then(() => {
this.router.navigate([currentUrl]);
});
Run Code Online (Sandbox Code Playgroud)
`
更好的方法:
最好onSameUrlNavigation:'reload'在内置 Angular Router 配置上使用。然后在您的路线上添加runGuardsAndResolvers: 'always'
然后您可以简单地导航到相同的网址。
有关更多信息,我鼓励您阅读此内容
| 归档时间: |
|
| 查看次数: |
833 次 |
| 最近记录: |