从角度 2 中的历史记录中删除一个组件

Posted

技术标签:

【中文标题】从角度 2 中的历史记录中删除一个组件【英文标题】:Remove a component from history in angular 2 【发布时间】:2017-04-02 16:33:29 【问题描述】:

我如何限制组件在后按时加载。 实际上,我有三个组件 A(普通组件)、B(登录组件)和 C(OTP 验证组件)。 我在单击某个按钮时从 A 路由到组件 B,从 B 路由到 C 以验证用户。 现在在组件 C 上完成验证后,我想返回组件“A”,并希望从历史记录中删除组件“B”和“C”,以便在浏览器的后按时不会加载“B”(登录组件)又是“C”。 那么我怎么能在 angularjs 2 中做到这一点。

【问题讨论】:

我想你可以使用路由守卫。 RouteGuards 它们允许您连接到组件生命周期,让您能够取消导航。 【参考方案1】:

从组件 B 和 C 导航时,传递选项 replaceUrl:true 以在浏览器历史记录中将 B 替换为 C。

例如:

//Navigating to state C 
this.router.navigate(["/C"],  replaceUrl: true );

查看documentation for replaceUrl

【讨论】:

以上是关于从角度 2 中的历史记录中删除一个组件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery地址从历史记录中删除最后一个网址

如何从 Git 历史记录中永久删除提交?

怎样删除历史记录?

历史记录如何删除

怎样删除历史纪录。

从浏览历史记录中删除敏感的URL数据