Polymer 如何将对象/数组的子对象动态绑定到元素
比方说,我们有一个简单的双向绑定到子属性的元素:Polymer 如何将对象/数组的子对象动态绑定到元素,polymer,polymer-1.0,web-component,Polymer,Polymer 1.0,Web Component,比方说,我们有一个简单的双向绑定到子属性的元素: <x-element data="{{model.partOfData1}}"></x-element> 而其中的数据部分将是指向模型中数组的指针。我有很多这样的用例,但很难找到解决方案。归档此文件的最佳方式是什么?您可以创建一个计算绑定,该绑定将模型和属性键作为单独的参数: <x-element data="[[getData(model, propertyName)]]" on-data-
<x-element data="{{model.partOfData1}}"></x-element>
而
其中的数据部分将是指向模型中数组的指针。我有很多这样的用例,但很难找到解决方案。归档此文件的最佳方式是什么?您可以创建一个计算绑定,该绑定将模型和属性键作为单独的参数:
<x-element data="[[getData(model, propertyName)]]"
on-data-changed="updateModel"></x-element>
Polymer({
is: 'x-element',
getData: function(model, key) {
return model[key];
},
updateModel: function(ev) {
this.model[this.propertyName] = ev.detail.value;
}
});
聚合物({
是‘x元素’,
getData:函数(模型、键){
返回模型[键];
},
updateModel:函数(ev){
this.model[this.propertyName]=ev.detail.value;
}
});
如果这是一种常见情况,您可以将getData
函数提取到一个函数
要实现双向绑定,您必须手动监听数据的更改。毕竟,数据绑定主要是事件和侦听器。我意识到目前的解决方案有点麻烦。您可以创建一个计算绑定,它将模型和属性键作为单独的参数:
<x-element data="[[getData(model, propertyName)]]"
on-data-changed="updateModel"></x-element>
Polymer({
is: 'x-element',
getData: function(model, key) {
return model[key];
},
updateModel: function(ev) {
this.model[this.propertyName] = ev.detail.value;
}
});
聚合物({
是‘x元素’,
getData:函数(模型、键){
返回模型[键];
},
updateModel:函数(ev){
this.model[this.propertyName]=ev.detail.value;
}
});
如果这是一种常见情况,您可以将getData
函数提取到一个函数
要实现双向绑定,您必须手动监听数据的更改。毕竟,数据绑定主要是事件和侦听器。我意识到,目前的解决方案有点麻烦。谢谢!:)我试过了,但我正在寻找一个双向绑定的解决方案。(我将此添加到问题中。对不起。)请参阅更新的答案。不过肯定有更好的办法。谢谢!:)我试过了,但我正在寻找一个双向绑定的解决方案。(我将此添加到问题中。对不起。)请参阅更新的答案。但肯定有更好的办法。