聚合物1.0中dom-repeat内部的双向绑定问题

时间:2015-08-27 14:57:44

标签: polymer polymer-1.0

我有一个像这样的简单template

<template is="dom-repeat" items="[[items]]">
    <paper-button active="{{item.selected}}" toggles raised>
        <span>[[item.selected]]</span>
    </paper-button>
</template>

如果我通过点击它激活列表中的第一个paper-button,然后调用

this.set('items.0.selected', !this.items[0].selected);

它被取消激活。

但是如果我再次尝试上面的确切步骤,按钮就不会被取消激活,这会使按钮状态和selected值不同步。

为什么这样做?该问题可以在here上复制。

1 个答案:

答案 0 :(得分:1)

有趣的问题。所以我尝试使用单个paper-button绑定到单个item实例,结果证明它工作正常,这让我觉得它可能与数组中的路径绑定有关。 / p>

然后我向tap添加了paper-button处理程序,每次点击它时,在notifyPath子属性路径上执行selected值本身 -

this.notifyPath('items.0.selected', this.items[0].selected);

并且it有效。