2016-12-08 8 views
-1

現在のngrxストアは、角度2のコンポーネントに注入することでアクセスできますが、別のオブジェクトからイベントをディスパッチする必要があることを理解しています。オブジェクトの多くのコピーは、アプリケーションによってその場で作成することができます。新しいオブジェクトからアプリケーションngrxストアにアクセス

例えば、ngrx:storeのreadmeサンプルごとにアプリを設定していると仮定し、ストアにアクセスしてこのようなものからトリガーする必要があります。

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
  1. この読み:

    するvarインジェクター= RelfectiveInjector:uはのようなRelfectiveInjectorを使用する必要がlink

  2. を。 {provide:Store、useClass:Store} ]);

とコンストラクタ利用の

:uはあなたのクラスの任意の場所にストアを使用して派遣するために呼び出すことができます @Inject(ストア)店舗

  • その後
+0

は見えませんORIGINAL EXCEPTION: 'Store'(?,?、?)のすべてのパラメータを解決できません。すべてのパラメータがInjectで装飾されているか、有効なタイプの注釈を持っていること、および 'Store'が注入可能で装飾されていることを確認してください。あなたはストアの依存関係を知る必要があると思います。また、メインストアにアクセスできない新しいストアを作成することに少し気になります。 – davidbuttar

+0

あなたに投票しませんでした。多分stackoverflowはそれに今の下院議定書を持っています。 – davidbuttar

関連する問題