为了保持简短:
是否可以设置Resolver
应用程序之外的Ember.Application.create()
堵塞?
理想情况下,我想设置 Resolver
在 Ember.Application.initializer#initialize()
功能。就像是:
import CustomResolver from 'appkit/utils/resolver/custom';
import CustomAjax from 'appkit/utils/ajax/custom';
Ember.Application.initializer({
name: 'resolver_setup',
initialize: function (container, application) {
// NOTE: For an unknown reason (unknown to me!) I can't import CustomAjax in CustomResolver...
application.set('Resolver', CustomResolver.create({ajax: CustomAjax.create({})});
}
});
这可能吗?
P.S.:我需要自定义解析器的原因是,我从服务器获取所有模板,而不是在应用程序启动时将它们交付给用户。因此我要扩展
ember-jj-abrams-resolver
在 EAK 中默认使用...
最佳答案
我不认为初始化程序可以帮助您设置自定义解析器,according to the source code , container
早于任何初始化器设置,解析器是容器的属性。
您设置了 Resolver
初始化器中的属性,但这不会被设置容器的过程使用。我认为正确的方法是重新打开Ember.Application
并设置 Resolver
在创建 Ember.Application
之前.
Ember.Application.reopenClass({
Resolver: YOUR_CUSTOM_RESOLVER_NAME
});
Ember.Application.create({...});
关于ember.js - Ember 应用套件 : Set Resolver outside of Ember. Application.create(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22637966/