纸张输入是否支持嵌套属性?例如,
<paper-input label="FIRST NAME" value="{{client.name}}"></paper-input> //client object is updated
<paper-input label="LAST NAME" value="{{client.address.street}}"></paper-input> //client object is not updated
当用户将文本输入纸张输入时, client.name
会更新,但当用户将文本输入纸张输入时,client.address.street
不会更新。即客户对象仅包含{name: 'xxx}
而不包含{name: 'xxx', address: {street: 'abc'}}
是否有任何文件提到上述限制或我做错了什么?谢谢!
答案 0 :(得分:0)
Polymer
没有提供直接绑定到数组项的方法。您必须使用来自polymer
的数据绑定辅助元素(如template repeaters)来嵌套范围。
使用以下方法之一与数据绑定中的数组进行交互:
dom-repeat辅助元素允许您为数组中的每个项创建模板实例。在dom-repeat
实例中,您可以绑定到数组项的属性。
<dom-repeat items="{{client}}" as="client">
<template>
<paper-input label="FIRST NAME" value="{{client.name}}"></paper-input>
<paper-input label="LAST NAME" value="{{client.address.street}}"></paper-input>
</template>
</dom-repeat>
iron-list显示虚拟的“无限”列表。 iron-list元素中的模板表示为每个列表项创建的DOM。
<iron-list items="{{client}}" as="client">
<template>
<paper-input label="FIRST NAME" value="{{client.name}}"></paper-input>
<paper-input label="LAST NAME" value="{{client.address.street}}"></paper-input>
</template>
</iron-list>
如果使用函数初始化属性(即对象或数组值),它将确保每个元素都获得自己的值副本,而不是在元素的所有实例之间共享对象或数组。您没有上面的用户帮助元素:
client: {
type: Object,
value: function() {
return {
"name": "",
"address": {
"street": ""
}
};
}
}