container.lookup(' store:main')返回undefined

时间:2015-04-14 21:42:49

标签: ember.js

我使用的是EmberJS,我有一个初始化程序,可以在商店中加载当前用户。我不知道为什么它不起作用。我目前的初始化程序是:

export function initialize(container, application) {
  var store = container.lookup('store:main');
  console.log(store);
}

export default {
  name: 'current-user',
  after: 'preload',
  initialize: initialize
};

当我记录container并将其转换为控制台中的全局变量时,运行temp1.lookup('store:main')我得到一个对象。我现在很困惑,为什么初始化程序无法加载商店。

1 个答案:

答案 0 :(得分:6)

可能是因为您的初始化程序在设置商店之前运行。可以找到Ember数据初始值设定项here。如initializer API中所述,您需要执行以下操作:

export default {
    name: 'current-user',
    after: ['preload', 'ember-data'],
    initialize: initialize
};