Ember Query在组件生命周期中尽快存储

时间:2016-06-03 09:44:47

标签: ember.js ember-data

我正在玩拖放UI。每个都有一个可以拖动到某个位置的组件,并且该位置的引用会保存在关联的位置模型中。多个不同的位置将是可行的,因此它需要是一个单独的模型。

在创建每个组件时,我想查询商店以找到某个位置,然后使用它来设置页面上组件的绝对位置

我尝试在不同的lifecycle hooks期间查询商店以找到某个 posiiton ,但该商店似乎无法使用。何时何地可以做到这一点?

我的另一个想法是,我应该为路线控制器中的每个学生找到某个位置,然后将这些传递到组件中,但我真的希望尽可能多地保留组件。

1 个答案:

答案 0 :(得分:1)

通常,不鼓励访问组件中的商店,但您绝对可以这样做。 store是一项服务,因此您可以将其注入组件中。为此,您需要创建一个这样的初始化器:

export function initialize(application) {
  application.inject('component', 'store', 'service:store');
}

export default {
  name: 'component-injections',
  after: 'ember-data',
  initialize: initialize
};

有了这个,商店将以组件形式提供,您可以随意使用它。