2015-06-05 67 views
2

我正在嘗試更新我的項目以使用Polymer 1.0,並且我已經停留在整個雙向綁定和通知系統上。如果Polymer 0.5爲你處理這件事,我似乎無法在1.0中做到這一點。在結構化對象中實現雙向數據綁定

我要創建一個對象爲我的API看起來像這樣:

{ 
    "create": [{ 
     "classes": ["Person"], 
     "HasName": [{ 
      "givenNames": ["Paula"], 
      "familyNames": ["Vaandrager"] 
      }] 
     }, { 
      "id": "bvhme", 
      "classes": ["Person", "User"], 
      "HasName": [{ 
       "givenNames": ["Boris", "Hendrik"], 
       "familyNames": ["van Hoytema"] 
      }, { 
      "givenNames": ["Boris", "Hendrik"], 
      "familyNames": ["Vaandrager"] 
      }] 
     }] 
    } 

我已經想通了如何使這個使用DOM重複的元素,但如果我做一個鐵輸入每當我改變這些更改不會傳播到我的模型中。

理想情況下,我甚至會創建一個元素來編輯每個對象和其中的子對象。但是,如果我必須指定每一個可能發生的通知,我都會感到不知所措,但除此之外,我不瞭解這些東西的作用。

回答

1

它看起來像你正在尋找如何觀察更改陣列,如果是的話,我建議在Polymer 1.0 'array-style' path accessors, alternative to bracket notation in expressions

總體看答案,你的解決方案應包括深像Zikes所說和通知的路徑觀察者:對各種值都是正確的。

properties: { 
 
    fields: { 
 
    type: Array, 
 
    notify: true 
 
    }, 
 
}, 
 
someFunction: function() { 
 
    this.set('fields.' + index, value); 
 
}

,如果你需要觀察添加和移除到陣列,請查看陣列拼接觀察家https://www.polymer-project.org/1.0/docs/devguide/properties.html#array-observation

0

原來的麻煩,我曾與聚合物的做無法觀察由字符串組成的數組。所以你必須改用對象數組。

相關問題