1
我有一個複雜的屬性,我想在聚合物中觀察。嵌套陣列觀察聚合物
該屬性包含嵌套陣列,其似乎不使用observers
觀測得到支持,因爲它們似乎只與嵌套(在丙即只有一個陣列)的只有1級乾淨地工作。
讓這成爲一個例子:
Polymer({
is: 'house-component',
properties: {
house: {
type: Object,
value: {
parents: [
{
name: "BigFoo",
children: [
{ name: "SmallFoo", age: 12 },
{ name: "SmallBaz", age: 15 },
{ name: "SmallSid", age: 17 }
]
},
{
name: "BigBaz",
children: [
{ name: "SmallIda", age: 11 },
{ name: "SmallTed", age: 18 },
{ name: "SmallMoe", age: 16 }
]
}
]
}
}
}
我怎麼會專門監視下操作(只是舉例):
- 變化的任何孩子的年齡。
- 兒童的添加/刪除任何父母。
理想,我可以沿着這些路線的東西:
observers: [
"_childAgeChanged(house.parents.*.children.*.age)",
"_childrenChanged(house.parents.*.children)"
],
這是我目前使用:
observers: [
"_childrenChanged(house.parents.*)" // basically observes almost everything
],
它爲我提供了所有的也改變了父母。
爲了解我目前的使用情況,我在changeRecord
的path
上進行了大量的字符串匹配,以查看哪條路徑實際發生了變化以及如何,但是看起來絕對是可怕的。
有沒有更好的方式去改變它而不改變我使用的數據結構?
謝謝,這與我目前用來解決此問題的情況類似。我想知道是否有這樣做的實際「官方方式」/銀彈。 –