我认为该方法controllerFor
应该在这种情况下可用:
App.ApplicationRoute = Ember.Route.extend
events:
someAction: (user) ->
console.log this.controllerFor("currentUser").get("name")
针对评论中的问题进行更新:
这一切都取决于你想做什么。在这种基本方法上担心 DRY 没有多大意义恕我直言。
在你的荣誉离开的情况下,我会这样做:
App.ApplicationRoute = Ember.Route.extend
events:
someAction: (user) ->
this.controllerFor("currentUser").decrementKudos();
// implement the decrementKudos in your controller
但我想存储这个控制器也应该工作,如果这对你来说太多代码:
App.ApplicationRoute = Ember.Route.extend
currentUserCon : this.controllerFor("currentUser")
events:
someAction: (user) ->
this.currentUserCon.decrementKudos();
// implement the decrementKudos in your controller