我想将多个值绑定到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>
我试图避免必须将计算属性传递给对象数组。这样的事情是可能的,还是有必要使对象数组成为一个单独的属性?
答案 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中不推荐使用参数的复杂对象,对这些情况使用属性。