オブジェクトの一意の「categoryName」属性でインデックス付けされたオブジェクトの配列を表示する適切な方法を見つけようとしていますが、現在実行しようとしている方法は、期待どおりに動作していません。
LO.List = DS.Model.extend({
name: DS.attr('string'),
items: DS.hasMany('LO.Item'),
categoryNames: function() {
// return an array of all unique item.categoryNames
}.property('items.@each.isLoaded')
});
LO.Item = DS.Model.extend({
name: DS.attr('string'),
categoryName: DS.attr('string')
});
私のテンプレートでは、各 categoryName をループしてレンダリングし、そのカテゴリのすべてのアイテムをレンダリングしようとしています。
<ul>
{{#each content.categoryNames}}
<li>
Category: {{this}}
Items: {{view LO.ItemsInCategoryView categoryNameBinding="" itemsBinding=""}}
</li>
{{/each}}
</ul>
現在のコンテキストのカテゴリ名またはそのビュー内のアイテムの配列全体を取得できないため、ItemsInCategoryView へのバインディングに何か問題があります。
いじる: http://jsfiddle.net/6ph42/2/
これを行うべき別の方法はありますか?そうでない場合、ここでビューにどのバインディングを渡す必要がありますか?
ありがとう!