gpt4 book ai didi

ember.js - Ember 应用套件 : Set Resolver outside of Ember. Application.create()

转载 作者:行者123 更新时间:2023-12-04 21:42:40 26 4
gpt4 key购买 nike

为了保持简短:

是否可以设置Resolver应用程序之外的Ember.Application.create()堵塞?

理想情况下,我想设置 ResolverEmber.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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com