我创建了一个由我的自定义“parent”元素使用的“child”元素。我的子元素标签在我的“父”元素中看起来像这样:
<child-element fruits="{{fruits}}"></child-element>
fruits是我的“parent”元素中的数组,不是我的“child”元素的属性。在我的“孩子”元素中,我有以下内容:
<template is="dom-repeat" items="[[fruits]]">
<paper-card>[[item.flavor]]</paper-card>
</template>
如何为我的“child”元素编写单元测试以查看dom-repeat是否正常工作?我想直接在“child”元素上编写测试,而不使用“parent”。我知道如何针对“child”元素的属性编写断言,但我不知道如何绑定或传递它通常从“父”中听到的fruits数组,因为父级不是我测试的一部分。如何将水果数组提供给我的“子”元素?
一旦我将水果阵列喂给它,我该如何测试是否创建了相应的纸卡?
答案 0 :(得分:1)
您实际上做在您的子元素上有fruits
属性。你在这里设置:
<child-element fruits="{{fruits}}"></child-element>
这就是说,将child-element.fruits设置为parent-element.fruits。
此处的绑定为fruits
创建(隐式)setter,因此可以观察到更改:
<template is="dom-repeat" items="[[fruits]]">
您可以使用标记中的数组文字初始化子元素:
<child-element fruits='[{"flavor": "apple"}, {"flavor": "blueberry"}]'>
或者通过在JavaScript中设置属性:
myChildEl.fruits = myFruits;
我认为您应该能够检查通过执行以下操作创建的卡片:
var cards = Polymer.dom(myChildEl.root).querySelectorAll('paper-card');