在 Polymer 中绑定数组 属性 中的多个值

Binding multiple values in an array property in Polymer

我想将多个值绑定到 Polymer 组件中的数组 属性。

正在寻找类似以下内容的内容,其中我分别从与第一元素和第二元素的双向绑定中获取 object1 和 object2 的值,并希望第三元素接收这两个元素作为一个数组,传递给对象数组(显然这不起作用,但这就是我问的原因):

<!-- inside parent component definition -->

<first-element object='{{object1}}'></first-element>
<second-element object='{{object2}}'></second-element>

<!-- this is the syntax I thought might work -->
<third-element object-array='[ [[object1]], [[object2]] ]'></third-element>

我试图避免必须计算 属性 才能传递到对象数组。这样的事情是否可能,或者是否有必要使对象数组成为一个单独的 属性?

不,绑定在 Polymer 中相当简单。您已经提供了其他选项,另一个选项仍然是将两个设置为 property/properties:

this.shadowRoot.querySelector('third-element').objectArray = [object1,object2];

不建议在 Polymer 中通过参数创建复杂对象,在这些情况下使用属性。

如果你不想使用计算属性,我能想到的最简单的方法是使用计算绑定,尽管它几乎是一样的:

<third-element object-array="[[retArr(object1, object2)]]"></third-element>

并有一个单行方法:

retArr(a,b) {return [a,b]}