Ember.Array / Ember.Enumerable をサポートする Ember にキー値オブジェクトはありますか?
{{#each}}
Handlebars テンプレートでそれらを繰り返し処理したいと思います。
私の使用例は、サーバーから任意の JSON (ユーザー定義フィールド) を表示することです (以下に例を示します)。(ヘルパーを使用して) ネストされた配列からビューを再帰的に作成できますeach
が、オブジェクトを反復処理することはできません。私の計画は、JSON オブジェクトをラップして列挙可能にするオブジェクトを見つける (または作成する) ことです。これを行うための最良の方法は何ですか?
これまでの私の考えは、 を拡張/混合Enumerable/Array/ArrayProxy/ObjectProxy
し、基になるキー値ストアを として格納し、オブジェクトのキーを格納するフィールドをEmber.Array
追加することです。その後、 andをkeys
使用して基になる値を設定/取得し、同期を維持できます。このアプローチは健全ですか?setUnknownProperty
unknownProperty
keys
サーバーからの JSON の形式
以下に例を示します (ユーザーは自分のワークアウト データを文書化します)。これは一例に過ぎないことに注意してください。フォーマットは完全に柔軟であるため、これらのユーザー定義フィールドをモデル化するために Ember データ モデルを作成することはできません。全体として、データは任意に複雑な JSON にすることができます (ハッシュ、配列、プリミティブの任意のネスト度)
{
"bench_press":[
{
"weight":95,
"repetitions":5,
"tags":[
"warmup"
]
},
{
"weight":135,
"repetitions":3,
"tags":[
"warmup"
]
},
{
"weight":155,
"repetitions":3,
"tags":[
"warmup"
]
},
{
"weight":165,
"repetitions":2,
"tags":[
"warmup"
]
},
{
"weight":185,
"repetitions":1,
"tags":[
"warmup"
]
},
{
"weight":195,
"repetitions":1,
"tags":[
"warmup",
"overshoot"
]
},
{
"weight":190,
"repetitions":5,
"tags":[
]
},
{
"weight":190,
"repetitions":5,
"tags":[
]
},
{
"weight":190,
"repetitions":5,
"tags":[
]
},
{
"weight":190,
"repetitions":3,
"tags":[
]
},
{
"weight":190,
"repetitions":2,
"tags":[
"negatives"
]
}
]
}