我正在尝试在 Polymer 3 Web 组件中理解/实现两种方式的属性绑定。我有以下代码:
import {html, PolymerElement} from '@polymer/polymer/polymer-element.js';
class CustomInputComponent extends PolymerElement {
static get template() {
return html`
<div>
<template is="dom-repeat" items="{{ratings}}">
<input type="radio"
name="group"
id="item_{{item.id}}"
value="{{item.checked}}"
checked$="{{item.checked}}">
</template>
</div>`;
}
static get properties() {
return {
ratings: {
type: Array,
value: [
{ id: 1, checked: true },
{ id: 2, checked: false }
]
}
};
}
}
window.customElements.define('custom-input-component', CustomInputComponent);
如您所见,我定义了一个包含默认值列表的 Array 属性。这个属性是一个模型,我想从中渲染一个无线电组。初始状态看起来不错。但是当我单击未选中的输入时,DOM 元素不会正确更新。
我敢打赌我错过了一些非常简单的东西......