【发布时间】:2014-03-27 14:48:07
【问题描述】:
正如我在这里的几个问题中提到的那样,我正在迁移一个已经存在且正在运行的 Ember 项目以使用 Ember App Kit,我遇到了几个问题......这是另一个以前不是问题的“问题”:)
我有一个NotificationCollectionController,它位于app/controllers/notification/collection.js 下。
文件 'app/controllers/notification/collection.js':
export default Ember.ArrayController.extend({
addNotification: function (options) {
// some code
},
notifyOnDOMRemove: function (notification) {
this.removeObject(notification);
}
});
由于这是通过命名插座呈现的通知的控制器,因此我没有为它声明路由。
在我的ApplicationRoute 中,我想在一个函数中访问这个控制器
文件: 'app/routes/application.js'
import BaseRoute from 'appkit/routes/base';
export default BaseRoute.extend({
addGlobalNotificationCollection: function () {
var controller = this.controllerFor('notificationCollection');
// some more code...
}
});
但是,一旦应用程序启动并调用了这段代码,我就发现了以下错误:
“断言失败:名为 'notificationCollection' 的控制器可以 找不到。确保这条路线存在并且已经存在 至少输入一次。如果您访问的控制器不是 与路由相关联,确保控制器类是明确的 已定义。”
这是什么意思,为什么会抛出?我该怎么做才能再次让它运行?
【问题讨论】: