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

Ben*_*nIO 2 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
};
Run Code Online (Sandbox Code Playgroud)

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

GJK*_*GJK 6

这可能是因为您的初始化程序在设置商店之前运行.可以在此处找到Ember Data初始化程序.如初始化程序API中所述,您需要执行以下操作:

export default {
    name: 'current-user',
    after: ['preload', 'ember-data'],
    initialize: initialize
};
Run Code Online (Sandbox Code Playgroud)