当前位置: 首页 > 面试题库 >

AngualrJS:在HTML刷新上维持数据

归翔
2023-03-14
问题内容

有什么方法可以将少量数据加载到angular js的某些缓存中,页面的onrefresh从缓存中加载这些数据并再次显示?

现在的问题是,每当我刷新页面时,由于所有JS都会在刷新页面时重新加载,因此将重新启动sharedServices应用共享的详细信息。

我有一个登录页面和一个主页。登录成功后,我使用$
route路由到主页,并将loginID广播到Homepage控制器。现在,当我刷新此主页或复制url并粘贴到另一个选项卡中时,我希望存在相同的数据。但就我而言,由于htmls
/ javascripts已重新加载,因此将其初始化为null。

这里有可用的角度技术吗?


问题答案:

看一下这个讨论。

对于少量数据(<= 4k),可以使用$
cookieStore
,但是在那之后,您需要研究localStorage,请记住,localStorage将您的应用程序与HTML5兼容的浏览器相关联。

如果您不介意后端有一点状态,那也是一种选择。

*根据第一个评论进行 *编辑

听起来您的目标是,当用户单击刷新时,页面看起来应该好像他们从未点击过页面一样。每当这些更改发生时,您就必须将整个应用程序状态持久化到localStorage(范围,DOM属性,有状态服务)。不确定是否建议这样做。

但是,您可以足够接近地起作用:

扩展上面的答案:

  • 使用URL通过Angular的$ route服务描述应用程序状态。我一直喜欢这篇文章来解释URL和状态,尽管该文章是Ember特有的。

  • 至于阻止客户端在刷新时重新加载脚本,则无法执行此操作-最接近的是让服务器为这些脚本返回304(未修改)代码。

  • 如上所述,范围数据和服务状态必须保留在本地存储中。

尽管刷新问题很烦人,但实际上迫使您进行尽可能无状态的思考,并且无状态代码更易于维护和测试。如果您正在寻找上行空间:)



 类似资料:
  • 问题内容: 我正在尝试使用Javascript提交表单的数据。这是html。 这是该函数的Javascript 。 我的问题是Javascript可以运行,但是表单仍在处理并刷新页面。 我把代码放在希望它可以阻止窗体刷新。 问题答案: 您将必须在onsubmit处理程序的post()函数之后放置return false部分,如下所示:

  • 问题内容: 我将添加拉动以刷新我的Web视图,以便刷新我的Web视图。我已经看到了此页面上的所有问题,但我找不到添加拉动刷新的好方法… Mainactivity.java content_main.xml 我希望任何人都能帮助我并为我解决这个问题。 问题答案: 您可以像这样在Swipe Refesh布局中包装webview 在java中

  • 本文向大家介绍解决AngualrJS页面刷新导致异常显示问题,包括了解决AngualrJS页面刷新导致异常显示问题的使用技巧和注意事项,需要的朋友参考一下 绪   俗话说,细节决定成败,编程亦是如此。编程过程中我们可能会不自觉的忽视一些细节问题,殊不知,这些细节正是导致页面显示出现问题的地方。今略举一例,与君共勉之。 页面正常加载后,显示如下: 按F5刷新之后,页面如下所示: 很明显,页面显示出现

  • 在html中,当创建选项卡时,我可以将Paris选项卡设置为活动的(在html中用“style=”display:block;“硬编码)。因此,当页面加载时,活动选项卡(Paris)将显示。 问题 当我点击不同的标签(伦敦)并点击刷新,它再次显示巴黎。我如何才能点击刷新并显示当前活动的选项卡的信息?而不是将我带回定义的选项卡。也许javascript或jquery可以解决我的问题? 柱塞视图 示例

  • 问题内容: 我有一个网站需要更新状态。就像飞行一样,您要离开,巡航或着陆。我希望能够刷新状态而无需让观众拥有并重新加载整个页面。我知道有一种使用AJAX和jQuery的方法,但是我对它的工作原理没有任何了解。我也不希望他们单击​​按钮。如果有人知道该怎么做,我将不胜感激! 问题答案: 通常,如果您不知道某些事情是如何工作的,请寻找可以学习的示例。 对于此问题,请考虑 您可以看到使用jQuery很容

  • 我正在使用查看寻呼机和片段。我有三个可旋转的标签。每个扩展片段。我希望他们在刷卡时刷新。如何实现这一点?现在,当我滑动时,选项卡不会刷新。 请帮忙