5

ハンドルバーまたは ember ヘルパーを使用してオブジェクトのプロパティを読み取る方法はありますか?

{{#each object in objects}}
  <tr>
    {{#each key in keys}}
      {{!- doesn't work, because object[key] isn't valid syntax I guess --}}
      <td>{{object[key]}}</td> 
    {{/each}}
  </tr>
{{/each}}

私は so のようにプロパティを読み取ることができることを知っていますが{{object.someProperty}}、私の場合、読み取る必要があるプロパティのリストは引数としてコンポーネントに渡されます (私の例では と呼ばれkeysます)。

たぶん、この機能はハンドルバーやエンバーに既に存在していて、まだ見つけられなかったのでしょうか?

4

1 に答える 1

2

その構文は、Ember のハンドルバーでは機能しません。最適化と Ember が反復される項目に配列オブザーバーを追加したいため、機能しません。できることは、オブジェクト内のアイテムの配列を返す計算されたプロパティを追加することです。ただし、計算されたプロパティは値が変更されても更新されないことに注意する必要があります。

http://emberjs.jsbin.com/AmetIRi/1/edit

iterableObject: function(){
  return $.map(this.get('model'), function(value, key) {
    return [key + '-' + value];
  });
}.property('model')
于 2013-11-08T15:18:28.037 に答える