angular - 如何在刷新/更改页面上保存响应式表单数据?
问题描述
哪个是将用户插入的数据保存在反应式表单中的最佳解决方案?
在我的 Angular 应用程序中,我有一个步进器,每个步骤都是一个响应式表单,当表单有效时,用户可以继续下一步或返回上一步并更改表单值。
当用户想要更改购物车内的项目或刷新页面时,问题就出现了,因为他在表单中填写了很多信息,在刷新或更改页面后插入反应式表单中的数据会很好将被保留在其中。
那么哪个是最好的方法呢?我应该去本地存储、cookies 还是其他东西?
解决方案
在这种情况下使用LocalStorage
可能是持久数据的一个很好的解决方案。在组件中ngOnInit()
检查LocalStorage
是否有相关数据填写表格。
setLocalStorage()
如果保持每个数据的持久性对您来说非常重要,您可以拥有一个将在表单更改事件上调用的函数,如下所示:
app.component.ts
ngOnInit() {
this.myForm.valueChanges.subscribe( val => {
this.setLocalStorage(val);
});
}
setLocalStorage( newValue: any ): void {
// Set Localstorage code here
}
否则,您可以调用setLocalStorage()
步进器下一步按钮或表单提交事件或任何必需的事件。
推荐阅读
- java - 从另一个控制器调用方法时出现空指针异常
- c++ - 分配和仅使用 = 用于字符串之间的区别
- flowchart - 美人鱼流程图:如何绘制箭头脱离箭头(不是节点)?
- python-3.x - 如何在python中将带有文本和注释的pdf转换为图像类型的pdf?
- tensorflow - 旋转图像以减少训练图像数量
- java - 在 MacOS(m1 芯片)上构建 JavaFX 项目,在 windows 10 上运行 .jar 文件
- r - 有没有办法返回具有特定平均列值的行的名称?
- express - Ts.ED 简单静态服务器意外404故障
- applescript-objc - 如何从组合框项目中获取价值?
- javascript - React - 如何检查用 useState() 声明的状态变量的相等性