有何方法在Polymer组件之间共享数据?

时间:2017-07-06 16:03:06

标签: polymer polymer-2.x

目前我有两个共享大量数据的Polymer组件。你可以在这里看到:

+----+------+----+
| Id | Name | RN |
+----+------+----+
| 20 | Mike |  1 |
| 20 | Mike |  2 |
| 20 | Mike |  3 |
| 21 | Luke |  4 |
| 21 | Luke |  5 |
| 21 | Luke |  6 |
| 21 | Luke |  7 |
+----+------+----+

这项目前工作正常,但有关共享数据的最佳做法是什么?有没有办法分享两个组件之间的所有属性?

2 个答案:

答案 0 :(得分:1)

在Polymer 2中,一个元素可以通过扩展它来继承属性。

class MyElementSubclass extends MyElement {...}

或者您创建一个只包含所需属性的元素,然后两个组件都扩展父级。您可以找到此here向下滚动到扩展现有元素

答案 1 :(得分:1)

建议您通过数据绑定来共享数据,就像您正在做的那样。您可以共享任何属性,而不仅仅是字符串和数字。例如假设你有一个对象

JS

data = {
    series: "",
    stackhelper: "",
    stack: "",
    controls: "",
    camera: "",
    threed: "",
    scene: "",
    renderer: "",
}

您的代码可以像这样重写。

HTML

<polymer-component1 data="{{data}}"></polymer-component1>
<polymer-component2 data="{{data}}"></polymer-component2>