从对象文字初始化聚合物子元素

时间:2015-10-21 10:46:38

标签: javascript polymer polymer-1.0

我希望能够从parent-element的object literal属性初始化聚合子子元素。

这意味着语法如下:

<dom-module id="parent-element">
    <template>
        <child-element properties={{item}}></child-element>
    </template>
</dom-module>

而不是:

<child-element property1="{{item.property1}}" property2="{{item.property2}}" ...></child-element>

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以在子元素中创建一个对象,观察此更改并将值分发给其他属性。

is="child-element",
properties: {
  property1: String,
  property2: String,
  consolidated: {
    type: Object,
    observer: '_propertyChange'
},
_propertyChange: function(newValue) {
  if (newValue.property1 && newValue.property1 !== this.property1) {
    this.property1 = newValue.property1;
  }
  if (newValue.property2 && newValue.property2 !== this.property2) {
    this.property2 = newValue.property2;
  }
}

在父级元素中将项目分配给合并属性

<dom-module id="parent-element">
    <template>
        <child-element consolidated={{item}}></child-element>
    </template>
</dom-module>