このコントローラーを考えると:
ItemController= Ember.Controller.extend({
subItems: Ember.ArrayController.create({
content: App.store.find(App.models.SubItem),
sortProperties: ['name']
}),
currentItemIdBinding: 'App.router.mainController.currentItemId',
item: function() {
return App.store.find(App.models.SubItem, this.get('currentItemId'));
}.property('currentItemId'),
currentSubItems: function () {
return this.get('subItems.content')
.filterProperty('item_id', this.get('item.id'));
}.property('item', 'subItems.@each')
});
テンプレート内のこの各ブロック:
{{#each subItem in currentSubItems}}
{{view App.SubItemView}}
{{/each}}
SubItemViewのコントローラーの「subItem」にアクセスするにはどうすればよいですか?
編集:
私はこれを行う方法に出くわしました。各ブロックを少し変更すると:
{{#each subItem in currentSubItems}}
{{view App.SubItemView subItemBinding="subItem"}}
{{/each}}
そして、初期化メソッドをSubItemViewクラスに追加します。
init: function() {
this._super();
this.set('controller', App.SubItemController.create({
subItem: this.get('subItem')
}));
})
コントローラのsubItemにアクセスできます。しかし、これは私が数えることができるよりも多くのレベルで間違っていると感じています。