gpt4 book ai didi

Angular - 仅在使用 router.navigate() 方法路由时才允许路由

转载 作者:行者123 更新时间:2023-12-05 05:14:19 24 4
gpt4 key购买 nike

我的要求是如果用户从地址栏手动更改浏览器 URL,则阻止用户导航。路由只能通过 Angular 应用程序(router.navigate())完成。

我知道我们可以使用 canActive 属性实现路由保护。

canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {

}

但我不知道我可以使用 ActivatedRouteSnapshot 或 RouterStateSnapshot 的哪些属性来识别用户正在使用手动 url 更改在应用程序内部导航。你能帮忙吗?

最佳答案

我认为 ActivatedRouteSnapshot 或任何其他类都不可能做到这一点。

我要补充的是,这对您的应用程序来说是一种奇怪的行为,因为这也意味着您不希望您的用户能够刷新您的页面。如果您担心通过手动导航到您的组件,您没有足够的数据使其正常工作,您可以使用您提到的守卫。

希望对你有帮助

关于Angular - 仅在使用 router.navigate() 方法路由时才允许路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52663044/

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