2016-12-28 12 views
0

私は3つのルータリンクを持つ製品の「親」ページを持っています。 「子」の概要ページ、ギャラリーページ、またはスペックページ。ルータコンセントの「子」コンポーネントを介して親コンポーネント変数を渡します。

ここで、製品に関する情報は、変数「製品」内の親製品ページ(詳細、画像と仕様へのリンク)によって保持されます。ルーターアウトレットで使用されている子コンポーネントから親コンポーネントの「製品」変数にアクセスするにはどうすればよいですか?

+0

あなたは@inputと試みたことがありますか? –

+0

は 'services'、 'events'などを使用します – anshuVersatile

+0

@federicoscamuzziコンポーネントセレクタを使用していませんが、入力バルスをサポートしていないrouter-outletタグ – TanguyB

答えて

0

サービス

@Injectable() 
export class AppService{ 
    private mainSource = new Subject<boolean>(); 
    main$ = this.mainSource.asObservable(); 

    setWorking(isWorking: boolean) { 
    this.mainSource.next(isWorking); 
    } 
} 

コンポーネント

private subscription: Subscription 

constructor(private appService: AppService){ } 

ngOnInit(){ 

    this.appService.setWorking(false); 

    this.subscription = this.appService.main$.subscribe(isWorking => { 
    if (isWorking) { alert("Tio"); } 
    } 
} 

ngOnDestroy() { 
    this.subscription.unsubscribe(); 
} 
関連する問題