Ember.js:嵌套路由中的控制器依赖性失败

时间:2014-10-13 11:12:46

标签: ember.js

我刚开始使用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

1 个答案:

答案 0 :(得分:1)

我注意到你的代码有些问题。修复后,它对我来说似乎没问题。

  1. needs应该是一个字符串数组,而不仅仅是一个字符串。
  2. 您的JSBin离开s CustomerEmployeesController。{/ li>
  3. 您在自己的财产中使用customer.id,但这并未引用任何内容。 Javascript中没有隐式this,特别是在Ember中没有。您必须使用this.get('customer.id')