Ember 1.12 关于 `initializer` 的弃用警告 API
Ember 1.12 deprecation warning about The `initializer` API
我正在将 ember/ember-cli 应用程序升级到 ember 1.12。我现在收到以下弃用警告:
DEPRECATION: `lookup` was called on a Registry. The `initializer` API no longer receives a container,
and you should use an `instanceInitializer` to look up objects from the container.
See http://emberjs.com/guides/deprecations#toc_deprecate-access-to-instances-in-initializers for more details.
查看示例,我看到如下内容:
App.initializer({
name: "clock",
initialize: function(container, application) {
application.register("clock:main", Clock);
var clock = container.lookup("clock:main");
clock.setStartTime(Date.now());
}
});
应改为:
App.initializer({
name: "clock",
initialize: function(registry, application) {
application.register("clock:main", Clock);
}
});
App.instanceInitializer({
name: "clock",
initialize: function(instance) {
var clock = instance.container.lookup("clock:main");
clock.setStartTime(Date.now());
}
});
但我根本没有类似的代码。 ember-cli 0.2.5 应用程序中的什么会导致此警告?
Ember 数据很可能是导致问题的原因,我昨天在我的一个应用程序上看到了它,您可以检查堆栈跟踪并可能看到谁是罪魁祸首。
https://github.com/emberjs/data/issues/3051
此问题已在 ember-data v1.0.0-beta.19 中修复,我更改了 ember-data 的版本 bower.json 文件使用 v1.0.0-beta.19,然后我 运行 bower 安装,最后 运行 我的 ember 应用程序。已弃用的警告消息已消失。
我正在将 ember/ember-cli 应用程序升级到 ember 1.12。我现在收到以下弃用警告:
DEPRECATION: `lookup` was called on a Registry. The `initializer` API no longer receives a container,
and you should use an `instanceInitializer` to look up objects from the container.
See http://emberjs.com/guides/deprecations#toc_deprecate-access-to-instances-in-initializers for more details.
查看示例,我看到如下内容:
App.initializer({
name: "clock",
initialize: function(container, application) {
application.register("clock:main", Clock);
var clock = container.lookup("clock:main");
clock.setStartTime(Date.now());
}
});
应改为:
App.initializer({
name: "clock",
initialize: function(registry, application) {
application.register("clock:main", Clock);
}
});
App.instanceInitializer({
name: "clock",
initialize: function(instance) {
var clock = instance.container.lookup("clock:main");
clock.setStartTime(Date.now());
}
});
但我根本没有类似的代码。 ember-cli 0.2.5 应用程序中的什么会导致此警告?
Ember 数据很可能是导致问题的原因,我昨天在我的一个应用程序上看到了它,您可以检查堆栈跟踪并可能看到谁是罪魁祸首。
https://github.com/emberjs/data/issues/3051
此问题已在 ember-data v1.0.0-beta.19 中修复,我更改了 ember-data 的版本 bower.json 文件使用 v1.0.0-beta.19,然后我 运行 bower 安装,最后 运行 我的 ember 应用程序。已弃用的警告消息已消失。