Ember App Kit: Установите Resolver вне Ember.Application.create()
Чтобы это было коротко:
Можно ли настроить 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({})});
}
});
Это возможно?
PS: причина, по которой мне нужен собственный распознаватель, заключается в том, что я загружаю все шаблоны с сервера, а не доставляю их пользователю при запуске приложения. Поэтому я расширяю ember-jj-abrams-resolver
который используется по умолчанию в EAK...
1 ответ
Я не думаю, что инициализаторы могут помочь вам установить собственный Resolver, в соответствии с исходным кодом, container
устанавливается раньше любых инициализаторов, resolver является свойством контейнера.
Вы устанавливаете Resolver
свойство в инициализаторе, но оно не будет использоваться в процессе настройки контейнера. Я думаю, что правильный путь - это открыть Ember.Application
и установить Resolver
прежде чем создавать Ember.Application
,
Ember.Application.reopenClass({
Resolver: YOUR_CUSTOM_RESOLVER_NAME
});
Ember.Application.create({...});