javascript - 跨元素的数据持久化

标签 javascript ajax polymer

假设我想为我的用户提供一个数据提供者元素,例如

<user-data-provider user-data="{{data}}"></user-data-provider>

它发送一个 ajax 请求并获取登录用户。

假设我想在不同的页面访问我的用户数据,我把这个标签添加到我需要的任何地方,但问题是,每次浏览器看到这个标签,都会再次进行ajax,我必须等到数据是拿来了!

我知道我可以在我的主页中创建一个变量并将它传递给子页面,但这对我来说似乎太过分了!

如何跨不同页面和我的应用程序的一部分保留用户数据?

提前谢谢你

最佳答案

有多种方法可以做到这一点。

  1. 您可以使用 monostate pattern
  2. 您可以在根元素或 index.html 中使用 user-data-provider 元素的一个实例,并使用 iron-signals将数据传输给所有其他想要使用它的元素
  3. 您可以使用 iron-meta拥有全局状态
  4. 使用外部状态管理框架(即 redux)。它有一个 polymer wrapper :polymer-redux

我建议使用外部状态管理框架,例如 redux。

此处显示了一些解决方案:

Polymer 1.0 Global Variables

关于javascript - 跨元素的数据持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39219321/

相关文章:

javascript - 仅在登录时显示本地存储中的对象

javascript - 表格没有列 - Google Charts - PHP AJAX

javascript - 如何从 AJAX 成功函数解析此 json 字符串?

Jquery 将数据传递给 ajax 函数

javascript - polymer 样式不影响宿主元素

dart - 是否有相当于提交纸质输入的方法?

javascript - 调整多个容器中的文本大小以保留父尺寸

javascript - Angular 6 将参数传入 URL

polymer - 观察Polymer JS中对象的更改

javascript - 我如何优化此 CSS3/许多图像以提高性能?