我有一个Message模型,其设置如下:
App.Message = DS.Model.extend({
subject : DS.attr( 'string' ),
message : DS.attr( 'string' ),
deletedBy : DS.attr(),
createdAt : DS.attr( 'string' ),
sender : DS.belongsTo( 'user', {embedded : false, key : 'sender'} ),
recipient : DS.belongsTo( 'user', {embedded : false, key : 'recipient'} )
});
在我的InboxController中,我已经与UsersController建立了依赖关系。但是,当我直接加载收件箱路由时,它没有加载UsersController模型(它没有嵌套)。什么是让它发挥作用的最合适方式?
InboxController:
App.InboxController = Ember.ArrayController.extend({
needs: ['users'],
itemController: 'inboxItem',
...
});
更新
答案 0 :(得分:1)
当您需要一个控制器到另一个控制器时,您可以使用needs
并通过UsersController
this.get('controllers.users.something')
但是,您需要将一些控制器或模型注入所有控制器或路由或其他东西,您可以在应用程序初始化期间执行依赖注入。