跨元素的数据持久性

Dev*_*ium 12 javascript ajax polymer

假设我想为我的用户提供数据提供程序元素,例如

<user-data-provider user-data="{{data}}"></user-data-provider>
Run Code Online (Sandbox Code Playgroud)

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

假设我想在不同的页面中访问我的用户数据,并将此标记添加到我需要的任何地方,但问题是,每次浏览器看到此标记时,再次生成ajax,我必须等到获取数据!

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

如何在不同页面和部分应用程序中保留用户数据?

先感谢您

Ümi*_*mit 4

有不同的方法可以做到这一点。

  1. 您可以使用单态模式
  2. 您可以user-data-provider在根元素或index.html 中拥有元素的一个实例,并使用iron-signals将数据传输到想要使用它的所有其他元素
  3. 你可以使用iron-meta来拥有全局状态
  4. 使用外部状态管理框架(即redux)。有一个聚合物包装器:polymer-redux

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

一些解决方案如下所示:

Polymer 1.0 全局变量