Ember では、ガイドに従って{{#each}}
次のようなことを行うことで、コントローラーを動的に検索できます。
テンプレート:
{{#each controller}}
{{name}}
{{/each}}
アレイコントローラー:
App.DocumentListController = Ember.ArrayController.extend
lookupItemController: ((object) ->
if @get('name') == 'something' then 'someController'
else 'someOtherController'
同じことをしたい状況がありますが、ArrayController の代わりに ObjectController を使用する必要があります。
したがって、私のテンプレートは次のようになります。
{{#each controller in controller.documents itemController=lookupItemController}}
{{name}}
{{/each}}
オブジェクト コントローラ:
App.DocumentListController = Ember.ObjectController.extend
lookupItemController: (object) ->
if @get('name') == 'something' then 'someController'
else 'someOtherController'
この 2 番目の例は作り話であり、機能しません。 このようなコントローラーを動的に設定する方法はあり{{#each}}
ますか? これを達成するためのより良い方法はありますか?