我刚开始使用ember.js(v1.7.0),我有以下路由配置:
this.resource('customer', { path: '/Customer/:id' }, function () {
this.route('employees', { path: '/Employees' });
}
我试图在员工控制器中定义对客户控制器的依赖,如下所示:
App.CustomerEmployeesController = Ember.ArrayController.extend({
needs: "customer",
customer: Ember.computed.alias('controllers.customer')
}
但是,客户始终是undefined
。使用this.controllerFor('customer')
,按预期工作。
这是一个jsbin来说明这一点:http://jsbin.com/jifiqe/1/edit
答案 0 :(得分:1)
我注意到你的代码有些问题。修复后,它对我来说似乎没问题。
needs
应该是一个字符串数组,而不仅仅是一个字符串。s
CustomerEmployeesController
。{/ li>
customer.id
,但这并未引用任何内容。 Javascript中没有隐式this
,特别是在Ember中没有。您必须使用this.get('customer.id')
。