将我的应用更新为Ember 1.12.0后,我注意到很多警告:
在注册表上调用了
lookup
。initializer
API不再接收容器,您应使用instanceInitializer
从容器中查找对象。有关详细信息,请参阅http://emberjs.com/guides/deprecations#toc_deprecate-access-to-instances-in-initializers。
这似乎是由使用初始化程序中的container.lookup
引起的,这在旧版本的Ember中很好。
在关于Ember 1.12.0的博客文章中,似乎在基于全球的Ember应用程序中,创建初始化程序和实例初始化程序之间的区别在于使用
App.initializer({
...
});
VS
App.instanceInitializer({
...
});
但是,它似乎没有描述如何在Ember CLI中使用实例初始化器。有谁知道如何使用它们?
编辑:关闭所有内容的浏览器插件会阻止原始博客文章中所需的信息。我会留下这个,以防它对任何人都有用,但在CLI中常规初始化器进入
app/initializers/__my__initializer.js
而Instance Initializers定义为
app/instance-initializers/__my__initializer.js
编辑2:如果有人因为遇到同样的问题而来到这里,this issue on the Ember.js repo会引用此问题,并包含指向证明问题的jsfiddle的链接。
答案 0 :(得分:7)
原来所有东西的浏览器插件都阻止了原始博文上我需要的信息。我将此留在这里,以防它对任何人都有用,但在CLI中常规初始化器进入内部
app/initializers/__my__initializer.js
而Instance Initializers定义为
app/instance-initializers/__my__initializer.js