3

Ember.Array / Ember.Enumerable をサポートする Ember にキー値オブジェクトはありますか?

{{#each}}Handlebars テンプレートでそれらを繰り返し処理したいと思います。

私の使用例は、サーバーから任意の JSON (ユーザー定義フィールド) を表示することです (以下に例を示します)。(ヘルパーを使用して) ネストされた配列からビューを再帰的に作成できますeachが、オブジェクトを反復処理することはできません。私の計画は、JSON オブジェクトをラップして列挙可能にするオブジェクトを見つける (または作成する) ことです。これを行うための最良の方法は何ですか?

これまでの私の考えは、 を拡張/混合Enumerable/Array/ArrayProxy/ObjectProxyし、基になるキー値ストアを として格納し、オブジェクトのキーを格納するフィールドをEmber.Array追加することです。その後、 andをkeys使用して基になる値を設定/取得し、同期を維持できます。このアプローチは健全ですか?setUnknownPropertyunknownPropertykeys

サーバーからの 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"
         ]
      }
   ]
}
4

1 に答える 1