Ember.js-发送到第一项的更好方式
我有一个ArrayController,我想在第一次访问视图时显示第一项的内容,现在我这样做:Ember.js-发送到第一项的更好方式,ember.js,Ember.js,我有一个ArrayController,我想在第一次访问视图时显示第一项的内容,现在我这样做: App.SomeController = Em.ArrayController.extend content: Ember.A() active: null contentDidLoad: ( -> return unless @get('content.isLoaded') || @get('content.length') == 0 || @get('active')
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"}}>
我不喜欢像这样从控制器给路由器打电话
内容的显示方式通常是通过单击动作辅助对象来实现的,如下所示:
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"}}>
但显然,当页面首次加载时,不会发生单击
有更好的方法吗?你能展示更多的代码吗?我猜你有某种索引路由,你应该在那里设置你的控制器。您使用的是哪个版本的余烬?在最近的版本中有一些重大变化。Yahuda回答了我的问题,这似乎很相似: