Polymer dom 没有数组重复
Polymer dom repeat without an array
我可以在没有数组的情况下使用聚合物 dom-重复模板吗?
例如我想渲染一些代码 20 次。
<template is="dom-repeat" items="[[itemCounter]]">
<div>Whatever</div>
</template>
这将渲染 <div>Whatever</div>
20 次,但要实现此目的,我必须在组件属性中创建一个长度为 20 的数组 "itemCounter",其唯一目的是循环它。
我想知道这样的事情是否可行,所以我不需要创建数组。
<template is="dom-repeat" times="20">
<div>Whatever</div>
</template>
不,你不能用普通的 dom-repeat
做到这一点,但我写了一个组件,它完全可以做到这一点:https://github.com/MeTaNoV/dom-repeat-n
Polymer github 存储库中也有关于此功能的讨论,您可以在此处找到:https://github.com/Polymer/polymer/issues/3313
你可以像这样乱搞
属性:
totalNo: {
type: Number,
value: 20
},
_arrayContainer: {
type: Array ,
value: [],
computed: '_numberToArray(totalNo)'
}
方法:
_numberToArray: function(totalNo) {
var array = [], i;
for (i = 0; i < totalNo; ++i) {
array.push(i);
};
return array;
},
HTML:
<template is="dom-repeat" items="[[_arrayContainer]]">
<div>Whatever</div>
</template>
但我不确定你们是否真的想要。
我可以在没有数组的情况下使用聚合物 dom-重复模板吗?
例如我想渲染一些代码 20 次。
<template is="dom-repeat" items="[[itemCounter]]">
<div>Whatever</div>
</template>
这将渲染 <div>Whatever</div>
20 次,但要实现此目的,我必须在组件属性中创建一个长度为 20 的数组 "itemCounter",其唯一目的是循环它。
我想知道这样的事情是否可行,所以我不需要创建数组。
<template is="dom-repeat" times="20">
<div>Whatever</div>
</template>
不,你不能用普通的 dom-repeat
做到这一点,但我写了一个组件,它完全可以做到这一点:https://github.com/MeTaNoV/dom-repeat-n
Polymer github 存储库中也有关于此功能的讨论,您可以在此处找到:https://github.com/Polymer/polymer/issues/3313
你可以像这样乱搞
属性:
totalNo: {
type: Number,
value: 20
},
_arrayContainer: {
type: Array ,
value: [],
computed: '_numberToArray(totalNo)'
}
方法:
_numberToArray: function(totalNo) {
var array = [], i;
for (i = 0; i < totalNo; ++i) {
array.push(i);
};
return array;
},
HTML:
<template is="dom-repeat" items="[[_arrayContainer]]">
<div>Whatever</div>
</template>
但我不确定你们是否真的想要。