私はポリマーで観察したいと思うような複雑な性質があります。入れ子になった配列の観察
プロパティは、それらが唯一(プロプですなわちだけつのアレイ)をネストのみ1レベルときれいに動作するように見えるようobservers
を用いた観察のためにサポートされていないようネストさ配列を含有します。
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: [ "_childrenChanged(house.parents.*)" // basically observes almost everything ],
すべてで私を提供する:
observers: [ "_childAgeChanged(house.parents.*.children.*.age)", "_childrenChanged(house.parents.*.children)" ],
これは私が現在使用しているものである。理想的には
は、私はこれらの線に沿って何かを持っている可能性があり両親にも変わります。
私が現在使用しているものをハックするには、changeRecord
のpath
で文字列マッチングを行い、どのパスが実際に変更されたかを確認してください。
私が使用しているデータ構造を変更することなくそれについてもっと良い方法がありますか?
ありがとう、これは私が現在この問題を回避するために使用しているものと似ています。これを行うための実際の「公式の道」/銀色の弾丸があるかどうか疑問に思っていた。 –