2015-08-24 57 views
1

我试图在我的表单中实现一个像保存消息一样的草稿功能。页面刷新时保存控制器状态

使用案例:有一种形式的某些领域,其中包括一些文本框,一些图片上传等。我的问题是如何保留这些值,如果这些已被用户填充页面刷新。记住页面尚未由用户提交。如果它已经提交,那么我可以从服务器检索值,但是如何在现在没有单击提交按钮的情况下将值存储在输入框中。

是否应该有一些API会定期保存值,或者是否只有在用户即将关闭页面或刷新页面时才会调用某些API?

我不知道这件事,并会在此感谢任何指针。

更新:根据建议

,我试图探讨一些教程/博客可以显示preoper设计和实现使用本地存储。我发现下面的链接好:

http://yeoman.io/codelab/local-storage.html https://domantasjovaisas.wordpress.com/2014/09/05/angularjs-saving-global-variable-in-localstorage/

几个疑惑: 看来,我们可以存储在本地存储一个JSON对象,但我怎么能存储给定对象给定用户。

使用案例:用户可以创建多个消息。我只想保留没有保存的最后一条消息。我怎样才能设计这样的存储工作正常?对于给定的userId我想保留一些数据在本地存储。将数据库标识存储在本地存储中是否安全?

请建议

+0

我会使用LocalStorage在浏览器中保存数据。至于你怎么做,你可以在计时器上做,或者你可以绑定到输入元素的变化事件。 – GPicazo

+0

你可以分享一些相同的教程/博客文章吗?那会很棒。 –

回答

1

我建议使用抽象过的localStorage并按照饼干,如果你正在寻找支持旧的浏览器库。使用JSON.stringify并将其传递给您的存储服务。如果您可能在一台计算机上有多个用户,则还可以将用户名添加到密钥中。无论如何,这将是一个很好的做法。

例子包括:

您可以挂接到NG-变化,手表,事件侦听器或使用定时器为别人建议。

更新:您可以在这里找到一个简单的实现,http://scionsoftware.com/Blog/saving-form-state-with-angular-js/

如果您正在寻找这样做对你意味着只有一个字符串值,只需删除的JavaScript的JSON.parse与JSON.stringify件。

+0

你能提供一些教程/博客文章更详细地解释这个吗?这会有很大的帮助。 –

+0

是的,只要我把它放在一起,我会尽快回复你。 – SpykeBytes

+0

非常感谢SpykeBytes。另外,你可以请看看我的更新 –