angular - Angular7:如何防止通过 URL 导航?
问题描述
在我的 Angular 应用程序中,我希望用户只能从根 url ( /
) 加载它。如果用户在浏览器中尝试任何其他 url,他应该立即被重定向到 root url。
但是,应用程序中的类重定向this.router.navigate(['some-url'])
应该可以正常工作
我怎样才能做到这一点?
现在,我NavGuard
在这篇文章中看到了,但也许有更简单的技巧可以做到这一点。
谢谢你的想法。
解决方案
您可以在您的 app.module 构造函数中添加一个 router.navigateByUrl('/') 因此,无论他们做什么,当应用程序加载时,他们都会去那里。或者,您可以在 sessionStorage 中创建一个包含值的变量,例如sessionStorage.setItem('userOnline', true)
,然后检查该值 OnInit。由于会话存储在选项卡关闭时被破坏,因此如果将任何路线直接放在浏览器导航栏上,他们可以进行路线导航,但前提是他们已经加载了应用程序。应用程序加载将重定向到“/”。
这个想法的任何变化,都可以而且应该起作用。一定要问我你是否迷路了!
推荐阅读
- vue.js - 如何将`item-text`与vue渲染功能绑定
- spring-boot - 使用 JWT 保护微服务之间的通信
- html - 表单自动完成中断 CSS 悬停
- javascript - 将图标添加到有序/无序列表 TinyMCE
- d - 如何在 Vibe.d 中返回带有 HTTP 代码的 JSON?
- android-activity - 在 Dagger 中注入一个需要创建活动的对象
- android - 在 Android 上使用 Room 忽略特定字段
- prolog - 如何改进字符串连接的解决方案?
- android - 如何实现嵌套的实时数据?
- python - 如何在许多文件的散点图上设置 matplotlib 颜色图