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

标签 ember.js ember-app-kit

为了保持简短:

是否可以设置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/

相关文章:

authentication - 具有多个设计范围的 Ember 简单例份验证

list - 我应该在哪里保持列表的选择状态?

javascript - 在 Ember.js 中重定向回的规范方法是什么?

ember.js - 我如何在 Controller 父子 Ember 之间传递一个 Action ?

javascript - 直接访问 Ember 路线时模板渲染乱序

ember.js - 将 firebase 和 emberfire 依赖项添加到 ember.js 应用程序 (ember-cli)

javascript - 为什么 Ember.js/EAK 会自动生成 ApplicationController 而不是使用我的显式 ApplicationController?

ember.js - 使用 ember 应用套件测试时如何获取 ember 的商店?

ember.js - 使用 Ember App Kit 在子目录中构建 Ember 应用程序

ember.js - 从设计到开发: Is there a common EmberJS workflow?