javascript - 当移动到 AngularJS 上的其他路由时,如何保留我的输入数据?

标签 javascript angularjs html forms

我有一个动态创建的 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/

相关文章:

javascript - 附加除第一个值之外的所有选项文本

javascript - GWT JsType 数组转换

javascript - 如何使用 Javascript 检测移动浏览器(Android Chrome)的关闭?

javascript - 无法读取 Node js中传入请求的数据

javascript - 如果我单击按钮,我的 keydown 事件会运行太多次

javascript - 使用CDN清除页面内容

javascript - Angular ng-change 不调用代码。我是否使用了错误的型号

mysql - API 服务器返回 404 错误

javascript - 使用 Gulp 设置 TypeScript/Angular

javascript - 垫自动完成功能未正确过滤 Angular