![](/img/trans.png)
[英]Polymer change in an element in a dom-repeat not reflected on parent array
[英]Polymer2: Update view of array element, generated via dom repeat
我有一组对象,它们通过 dom-repeat 创建它们的视图。 在此视图中,我有一个按钮可增加数组元素的属性。 但此后视图不会刷新。 是他们通知polymer2更新的一种方式:
这是一些代码:
<template id="filterElementList" is="dom-repeat" items="{{filterElements}}">
<div style="display: flex;">
<filter-panel-element style$="margin-left: {{_computeLevel(item.level)}}px;"></filter-panel-element>
<i class="fa fa-arrow-circle-left" aria-hidden="true" on-click="_decreaseLevel"></i>
<i class="fa fa-arrow-circle-right" aria-hidden="true" on-click="_increaseLevel"></i>
</div>
</template>
JS:
_increaseLevel: function (e) {
e.model.item.level++;
},
我更新了元素的 level 属性,但视图没有更新。
因此,考虑到您的模板绑定到filterElements
并且您正在尝试增加array
item
的子属性,
您可能必须在更新元素的数组的属性和/或子属性时指定data.path
。
所以试试这个:
e.model.set('item.level',e.model.item.level+1)
Polymer 在他们的数据系统文档中记录了这一点,它帮助 Polymer 传播事件通知并观察数据突变。
如果您可以使用数组和元素创建一个 plunk,则进一步排除故障会更容易。
以防万一,对您的代码进行上述更改,不会达到预期的结果
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.