ビューが最初にアクセスされたときに最初のアイテムの内容を表示したい ArrayController がありますが、現時点では次のようにしています:
App.SomeController = Em.ArrayController.extend
content: Ember.A()
active: null
contentDidLoad: ( ->
return unless @get('content.isLoaded') || @get('content.length') == 0 || @get('active')
@set('active', @get('firstObject'))
App.get('router').transitionTo('root.inbox.email', @get('active'))
).observes('content.isLoaded')
コントローラーからこのようにルーターを呼び出すのは好きではありません。
通常、コンテンツが表示される方法は、次のようなアクション ヘルパーのクリックです。
<div {{action showEmail view.content href="true"}}>
ただし、ページが最初に読み込まれたときにクリックが発生しないことは明らかです。
より良い方法はありますか?