刚刚将我的应用转换为ember-cli,但我不知道如何再使用Ember.Application.register
,因为register
似乎在启动应用程序时无法使用extend
而不是create
。
import Ember from 'ember';
import App from 'myapp/app';
var AdminMyController = Ember.ObjectController.extend({
});
// THROWS ERROR HERE BECAUSE register isn't, uh...registered?
App.register('controller:adminMyController', AdminMyController, { singleton: false });
export default AdminMyController;
以前,因为App是全球性的,我可以在同一个类中注册。
我是否必须将所有注册调用移至初始化程序,以便我可以访问应用程序实例?
答案 0 :(得分:1)
我相信初始化程序会为你做这件事。您需要在app目录中创建一个initializers
文件夹(与控制器,模板等级别相同)。这个文件应该去那里。
import Ember from 'ember';
var AdminMyController = Ember.ObjectController.extend({
...
});
export default {
name: 'adminMyController',
initialize: function (container, application) {
container.register('controller:adminMyController', AdminMyController, {singleton: false});
}
};