打字稿 - 停止销毁组件

时间:2018-06-05 14:05:58

标签: javascript angular typescript destroy

我有一个带有两个主要组件的角度应用程序(让我们称它们为comp A和comp B)。在任何给定时间,都会有一个随机数的As和Bs初始化。 每个组件都有自己的数据"初始化后他获得的变量。

我想在破坏组件时实现一种检查方式,如果"数据"已经改变了它的初始值。如果有,我想通知用户并给他2个选项:离开页面而不保存或留在页面上。

作为一种解决方案,我制作了一份初始数据"我计划在组件销毁时检查数据是否发生了变化,最终停止销毁组件。

问题是:有没有办法阻止组件的销毁?

我知道我可以选择使用canDeactivate guard。我无法真正使用它,因为组件可能无法从路径初始化。

2 个答案:

答案 0 :(得分:0)

组件 - 破坏之前是对角度的建议添加。 https://github.com/angular/angular/issues/20713

附件是使用元编程和async / await的解决方法。

Before Destroy

答案 1 :(得分:0)

您可以在Angular Application中使用Route guards来保护Angular Routes。

每次尝试更改角度路线时都会调用

canDeactive路线保护,如果路线返回false,则会阻止路线更改。

您可以按照本文创建Route guards

Can Activate and Can Activate Child Route Guard

Can Deactivate Route Guard