Aki*_*Aki 28 html javascript angularjs
是否有任何方法可以将少量数据加载到角度js中的某些缓存中,并且页面的onrefresh从缓存中加载这些数据并再次显示它?
现在问题是每当我刷新页面时,sharedServices应用程序共享的详细信息都会重新启动,因为在刷新页面时会重新加载所有JS.
我有一个登录页面和一个主页.登录成功后,使用$ route我将路由到主页并将loginID广播到主页控制器.现在当我刷新这个主页或复制网址并粘贴到另一个标签时,我希望存在相同的数据.但在我的情况下,因为htmls/javascripts正在重新加载,它被初始化为null.
这里有角度技术吗?
Roy*_*ove 34
看看这个讨论.
对于少量数据(<= 4k),您可以使用$ cookieStore,但之后您需要查看localStorage,请记住localStorage将您的应用绑定到符合HTML5的浏览器.
如果你不介意你的后端有一点状态,那也是一个选择.
根据第一条评论编辑
听起来你的目标是当用户点击刷新时,页面应该看起来好像从来没有碰过它.您必须将整个应用程序状态持久保存到localStorage(范围,DOM属性,有状态服务),这些都会随时更改.不确定这是可取的.
尽管如此,你可以近距离接触功能:
为了扩展上面的答案:
使用URL来描述应用程序状态,使用Angular的$ route服务.我总是喜欢这篇文章来解释URL和状态,尽管这篇文章非常适合Ember.
至于在刷新时阻止客户端重新加载脚本,就无法做到这一点 - 最接近的是让服务器为这些脚本返回304(未修改)代码.
如上所述,范围数据和服务状态必须保持在本地存储中.
尽管刷新问题令人讨厌,但它实际上会迫使您尽可能无所畏惧地思考,而无状态代码更容易维护和测试.如果你正在寻找一个好处:)
| 归档时间: |
|
| 查看次数: |
22423 次 |
| 最近记录: |