我有一个动态创建的 AngularJS 应用程序。
因此,它可能有一个正常的 <form>
带有一个提交按钮,但在它的内部可能有一个链接到另一个,另一个等等。
无论用户在这个“表单网”中有多深,我都已经成功地正确提交了数据,但问题是用户可能不会以“正确的顺序”填写它们,并且用户可以自由地这样做。
例如,他/她可以开始填写 FORM A
然后意识到有FORM B
在其中,移动到另一条路线,填写并提交 FORM B
当回来时FORM A
它将是空的。
所以,我想预先保存用户填写的所有输入数据。我只是想要对用户可能提供的任何输入进行某种缓存,以便用户可以自由地从一种表单移动到另一种表单,而无需提交。
最佳答案
您可以尝试使用 Angular service并将其作为依赖项注入(inject)到表单使用的所有 Controller 中。然后,您可以将数据绑定(bind)到该服务而不是 Controller 。由于该服务是单例,因此只会创建一次,并且当用户在应用程序中移动时不会重新创建。只要您不更改数据绑定(bind)值并且用户留在应用程序中,数据绑定(bind)值就会持续存在。
服务可能看起来像这样:
app.service('MyService', function () {
return {
form1Data: {},
form2Data: {},
form3Data: {}
};
});
然后绑定(bind)到 View 层中正确的 formNData
字段。如果表单的数量最终也是动态的,您可以向 Angular 应用添加一个配置 block ,指示您需要多少个 form
数据对象,并在 服务中使用它
函数。
关于javascript - 当移动到 AngularJS 上的其他路由时,如何保留我的输入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271869/