Polymer 聚合物1.0 dom重复与嵌套元素
我有一个关于dom repeat的问题。我有两种不同的元素,比如:Polymer 聚合物1.0 dom重复与嵌套元素,polymer,Polymer,我有一个关于dom repeat的问题。我有两种不同的元素,比如: <host-element> <item-element></item-element> <item-element></item-element> </host-element> 要打印itemmelements的内容,请使用dom repeat <template is="dom-repeat" items="{{itemElem
<host-element>
<item-element></item-element>
<item-element></item-element>
</host-element>
要打印itemmelements
的内容,请使用dom repeat
<template is="dom-repeat" items="{{itemElements}}">
<ul>
<template is="dom-repeat" items="{{item.values}}" as="value">
<li>[[value]]</li>
</template>
<ul>
</template>
我已将我的源代码推送到github,并且
谢谢你的帮助。
桑德罗我找到了一种方法让它工作。我需要更改包含所有项目的数组。 每次更改
项目元素
时,都会调用函数\u itemlelement changed
_itemElementChanged: function(){
// the check is needed if this function is run multiple times in the same tick it would erase the whole array
if (this.items.length > 0){
var itemsTmp = this.items;
this.items = [];
this.async(function () {
this.self.items = this.items;
}.bind({items: itemsTmp, self: this}));
}
}
如果调用了两次\u itemlelementchanged
,则需要检查this.items.length>0
在异步函数运行之前。在这种情况下,这个项目将以空结束
这显然不是一个令人满意的解决方案,但这是迄今为止我发现的唯一一个解决方案。。我已更新源以包含解决方案。根据我对文档的理解,您只需将观察到的属性添加到第一个观察属性:observe=“values.splice value.myotherproperty”您是否尝试过使用“notifyPath”方法?
<template is="dom-repeat" items="{{itemElements}}" observe="values.splice">
<ul>
<template is="dom-repeat" items="{{item.values}}" as="value" observe="????">
<li>[[value]]</li>
</template>
<ul>
</template>
_itemElementChanged: function(){
// the check is needed if this function is run multiple times in the same tick it would erase the whole array
if (this.items.length > 0){
var itemsTmp = this.items;
this.items = [];
this.async(function () {
this.self.items = this.items;
}.bind({items: itemsTmp, self: this}));
}
}