1
app.component、body.component、detail、componentの3つのコンポーネントがあります。私は2つのコンポーネントを通信するサービス共有データを使用するM I detailcomponetクリックボタン、 でiはapp.component loginameに等しいdetailcomponetのLOGNAME をしたいが、私がサービスにデータを渡すことができ が、appcompontは効果ができませんでした。 アプリと詳細コンポーネント親子コンポーネントではないデータを渡す方法
サービスルータとボディ部品
共有サービスを使用して、直接の親子または兄弟でないコンポーネント間でデータを共有します。 https://angular.io/docs/ts/latest/cookbook/component-communication.html –
私はちょうどコードを共有サービスをこのメソッドを使用して変更、私はサービスにデータを渡すことができました、console.logはそれを確認します。アプリコンポーネントには影響しませんでした。あなたはそれを見る時間を持つことができます。私はそれ以上の2枚の絵は非常にuと.thankペースト、アプリのコンストラクタ:コンストラクタ(プライベートpsservice:Passservice){ \t psservice.passdata $ .subscribe( \t \t shardata => { \t \t \t this.loginname = shardata; \t \t //this.loginname='haha "$ {shardata}" hellow '; \t \t //console.log(shardata); \t \t})。 – percinor
サービスを各コンポーネントに追加すると、各コンポーネントは異なるサービスインスタンスを取得します。両方の親であるコンポーネントのプロバイダに追加するか、 '@NgModule() 'のプロバイダに追加するかのいずれかによって、アプリケーションインスタンス全体が1つのサービスインスタンスと共有されます。 –