这是我的目录结构:
controllers/
---- restaurant/
----items.js
---- index.js
---- restaurant.js
我的路由器声明:
this.route("restaurants",{
path: "/restaurants"
});
this.resource("restaurant", {
path: "/restaurants/:restaurant_id"
}, function() {
this.resource("items", {
path: "/items"
});
});
我的项目控制器(位于restaurants/items.js)以以下内容开头:
export default Ember.ObjectController.extend({
needs: ["restaurant"],
restaurant: Ember.computed.alias('controllers.restaurant.model')
然后执行在餐厅下添加该项目的操作。
但是,我不断收到错误消息,指出“餐厅”需要添加到“需要”中:
ReferenceError:(生成的项目控制器)#needs 不包括restaurant
。要从(生成的项目控制器)访问餐厅控制器,(生成的项目控制器)应该有一个needs
属性是它有权访问的控制器的数组
这是我的设置(Ember-CLI 0.1.2 和 Ember 1.7) - 由于我使用壁炉适配器与 firebase 配合使用,我认为它不支持升级 Ember(根据我的尝试)。
DEBUG: -------------------------------
DEBUG: Ember : 1.7.0"
DEBUG: Ember Data : 1.0.0-beta.10"
DEBUG: Handlebars : 1.3.0"
DEBUG: jQuery : 1.11.2"
DEBUG: Fireplace : 0.2.9"
DEBUG: -------------------------------
我尝试过其他 Stackoverflow 答案(例如如何在 Ember.js 中的控制器之间进行通信 https://stackoverflow.com/questions/14862973/how-to-communicate-between-controllers-in-ember-js?rq=1)但他们似乎没有帮助。
有谁知道这是怎么回事?