Ember.js Ember应用程序工具包:在Ember.Application.create()之外设置解析器
简而言之: 是否可以在Ember.js Ember应用程序工具包:在Ember.Application.create()之外设置解析器,ember.js,ember-app-kit,Ember.js,Ember App Kit,简而言之: 是否可以在Ember.application.create()块之外设置应用程序的Resolver 理想情况下,我希望在Ember.Application.initializer#initialize()函数中设置Resolver。比如: import CustomResolver from 'appkit/utils/resolver/custom'; import CustomAjax from 'appkit/utils/ajax/custom'; Ember.Applica
Ember.application.create()
块之外设置应用程序的Resolver
理想情况下,我希望在Ember.Application.initializer#initialize()
函数中设置Resolver
。比如:
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({})});
}
});
这可能吗
注意:我需要自定义解析器的原因是,我从服务器获取所有模板,而不是在应用程序启动时将它们交付给用户。因此,我正在扩展EAK中默认使用的ember jj abrams解析器
。我认为初始化程序无法帮助您设置自定义解析器,容器
的设置早于任何初始化程序,分解程序是容器的一个属性
您在初始值设定项中设置了Resolver
属性,但设置容器的过程不会使用该属性。我认为正确的方法是重新打开Ember.Application
并在创建Ember.Application
之前设置Resolver
Ember.Application.class({
冲突解决程序:您的\u自定义\u冲突解决程序\u名称
});
创建({…});
有趣的方法-像这样交付模板的商业原因/优势是什么?@ToranBillups这种形式的模板交付的商业原因/优势是,一个由数百个模板组成并具有多种语言国际化的应用程序不需要在启动时加载所有预编译模板,因为它们中的大多数都是不需要的:)这听起来像是社区可以使用博客文章的东西-你有没有可能把一些东西放在一起?即使是一个简单的要点也将是一个很好的开始,其他人可以构建我的博客。我会看看我能做些什么,并尽快发布博客url;)谢谢你的回答-我完全忘记了这个悬而未决的问题,因为我以接近你建议的方式解决了它。当我使用ember应用程序工具包时
我能够扩展ember jj abrams解析器
import
在app.js
文件中导入它,并将它直接设置为ember.Application.create({resolver:CustomResolver})
中的解析器。我会接受你的回答,因为很明显可以按照你的建议去做:)