在Ember 1.12.0中修复了初始化程序的弃用

时间:2015-05-28 13:43:34

标签: ember.js coffeescript ember-cli

我正在引用Ember 1.12中引入的这一特定弃用

  在注册表上调用了

lookup。不再使用initializer API   收到一个容器,你应该使用instanceInitializer来   从容器中查找对象

我查看了指南,但我不确定如何解决这个问题。

这是我目前的代码片段

initialize = (container, app) ->
  auth = container.lookup('auth-manager:main')

  local_config = ($.ajax
    type: 'GET'
    url: '/config.json'
    async:false
  ).responseJSON

  external_config = ($.ajax
    type: 'GET'
    url: local_config.crm.provisioning.url + '/v1/configurations'
    dataType: 'json'
    headers:
      'Authorization': auth.get 'token'
      'Accept': 'application/json'
      'Content-Type': 'application/json'
    async: false
    error: (e)->
      if e.status == 401
        window.location.href = window.location.origin + '/auth.html?src_url=' + window.location.href
  ).responseJSON

ConfigInitializer =
  name: 'config'
  after: 'auth-manager'
  initialize: initialize

问题是我需要auth-manager初始化程序才能初始化我的config初始值设定项。我的大多数其他初始化程序都需要configauth-manager初始值设定项来获取access_token和连接端点。

在ember-cli项目中,是否应该有一个用于实例初始化程序的文件和一个用于初始化程序注册的文件?

ember doc中给出的例子让我很困惑。

1 个答案:

答案 0 :(得分:1)

我还没有打过这个,但希望这会带来一些有用的东西。 https://github.com/emberjs/ember.js/issues/10177