首页 > 解决方案 > Angular7:如何防止通过 URL 导航?

问题描述

在我的 Angular 应用程序中,我希望用户只能从根 url ( /) 加载它。如果用户在浏览器中尝试任何其他 url,他应该立即被重定向到 root url。

但是,应用程序中的类重定向this.router.navigate(['some-url'])应该可以正常工作

我怎样才能做到这一点?

现在,我NavGuard这篇文章中看到了,但也许有更简单的技巧可以做到这一点。

谢谢你的想法。

标签: angular

解决方案


您可以在您的 app.module 构造函数中添加一个 router.navigateByUrl('/') 因此,无论他们做什么,当应用程序加载时,他们都会去那里。或者,您可以在 sessionStorage 中创建一个包含值的变量,例如sessionStorage.setItem('userOnline', true),然后检查该值 OnInit。由于会话存储在选项卡关闭时被破坏,因此如果将任何路线直接放在浏览器导航栏上,他们可以进行路线导航,但前提是他们已经加载了应用程序。应用程序加载将重定向到“/”。

这个想法的任何变化,都可以而且应该起作用。一定要问我你是否迷路了!


推荐阅读