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
函数提取到一个函数


要实现双向绑定,您必须手动监听
数据的更改。毕竟,数据绑定主要是事件和侦听器。我意识到,目前的解决方案有点麻烦。

谢谢!:)我试过了,但我正在寻找一个双向绑定的解决方案。(我将此添加到问题中。对不起。)请参阅更新的答案。不过肯定有更好的办法。谢谢!:)我试过了,但我正在寻找一个双向绑定的解决方案。(我将此添加到问题中。对不起。)请参阅更新的答案。但肯定有更好的办法。