从新对象访问应用程序ngrx存储

时间:2016-12-08 23:52:52

标签: angular ngrx

我知道当前的ngrx存储可以通过将它注入像angular 2组件之类的东西来访问,但是我需要从一个单独的对象中调度一个事件。该应用程序可以动态创建该对象的许多副本。

例如,假设您根据ngrx:store自述文件设置了应用程序,我需要访问商店并从此类触发它。

import { Store } from '@ngrx/store';

export class RandomObj {
 name: string;
 number: number;

 constructor(name, number) {
  this.name = name;
  this.number = number;
 }

 amazingEvent(){
  // How to do this sort of thing so the app store will respond?
  this.store.dispatch({type: 'AMAZING_ACTION', payload: this});
 }
}

编辑:

有些明显的做法是,在初始化时将商店传递给RandomObj。

1 个答案:

答案 0 :(得分:-1)

  1. 请阅读:link
  2. 你需要使用RelfectiveInjector,如:

    var injector = RelfectiveInjector。       {provide:Store,useClass:Store}     ]);

  3. 并在构造函数中使用: @Inject(商店)商店

    • 之后,您可以在班级的任何地方使用商店并致电派遣