2017-02-08 9 views
0

与えられた2つの角2成分:同じツリーレベルの2つのコンポーネント間の角2のパスデータ?

  • ListItemsComponent。
  • ShowItemComponent。

ユーザが選択された項目オブジェクトを受信することによって、彼はShowItemComponentにリダイレクトされなければならないListItemComponentから項目を選択します。

両方のコンポーネントが同じツリーレベルに存在することがわかっています。

listItemsComponentからShowItemComponentまで過去のオブジェクトアイテムを取得する最も良い方法は何ですか?

+0

リターンを置くことができます親に?注射? – Daredzik

+0

データサービスで "EventEmitter"を使用することができます... http://stackoverflow.com/questions/36076700/what-is-the-properuse-of-an-eventemitter –

+0

が直接の方法ではないことを確認してください親として渡さずに中間データとしてデータをやりとりする? – user2080105

答えて

0

あなたはRouter.navigateを使用して、コンストラクタでListItemComponent でアイテムID でそれを他のコンポーネントのパスを与えるルートconstructor(private _router: Router)

this._router.navigate(['..../ShowItemComponent', {itemId:itemId}]) 

を宣言し、ShowItemComponentにActivatedRoute

constructor(private _activateRoute: ActivatedRoute){ 

     this._activateRoute.params.subscribe(
      (param: any) => { 
      let itemId = param['itemId']; 
    }); 
} 
+0

同じ項目をhttpで2回リクエストしたくない(パフォーマンス上の問題)。 – user2080105

関連する問題