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

时间:2018-01-26 16:50:26

标签: arrays data-binding 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>

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

2 个答案:

答案 0 :(得分:1)

如果你不想使用计算属性,我能想到的最简单的方法是使用计算绑定,虽然它几乎是相同的:

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

并有一个单行方法:

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

答案 1 :(得分:0)

不,聚合物中的绑定相当简单。您已经提供了其他选项,另一个选项仍然是将两个设置为属性/属性:

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

在Polymer中不推荐使用参数的复杂对象,对这些情况使用属性。