Angular 4+ ~ 加载组件的最后状态

Angular 4+ ~ Load a component with its last state

我是 angular 的初学者,所以我需要一些帮助: 我有 PageA 和 PageB。 PageA 具有 a:number、b:string、c:OwnType 等变量...用户更改了这些变量的某些值。然后他被 link 重定向到 PageB。他意识到他错过了 PageA 上的某些内容,因此他将按下浏​​览器的后退状态按钮。不幸的是,他对属性所做的更改丢失了,因此他需要从头开始在 PageA 上重新开始工作。

如何让 PageA 在销毁时保存修改后的值,并在设置一次后从某处将它们加载到 init 上?

我可以为此使用 Local/Session 存储或服务。另一方面,我想知道是否有比这些更好的解决方案。 感谢您的宝贵时间和答复:)

(我不想在服务器上存储状态之类的东西)

您可以使用服务来存储值并在需要时检索它。您可能已经知道,服务本质上是单例的。因此,您可以将它们用作缓存,并在需要时有效地使用它们。下面显示了一个示例(不是经过测试的代码)

// 组件

ngOnInit() {
let values = this.someService.getValues();
if(values) {
this.classPropertyA = values.a;
}
...
}

ngOnDestroy() {
this.someService.setValues(value1,value2); //Whatever values you want to store
}

虽然这可能无法处理重新加载条件。为此,您可能必须使用本地存储或其他一些存储方法。希望这有帮助。