[英]How to Pass data between two sibling components?
<container>
<navbar>
<summary></summary>
<child-summary><child-summary>
</navbar>
<content></content>
</container>
因此,在我有一個選擇中,確實向和發送了值。
在組件內部使用(更改)可以很好地觸發OnSelect方法。
因此,我嘗試使用@ Input,@ Output和@EventEmitter指令,但是除非繼續使用父/子模式,否則我看不到如何將事件作為組件的@Input檢索。 我建立的所有示例在組件之間都有關系。
編輯:BehaviorSubject無法正常工作的示例(與API的所有連接服務均正常運行,僅在啟動時觸發了可觀察的對象,但在select值更改時不起作用)
首先在服務中創建BehaviorSubject
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class DataService {
private messageSource = new BehaviorSubject("default message");
currentMessage = this.messageSource.asObservable();
constructor() { }
changeMessage(message: string) {
this.messageSource.next(message)
}
}
我創建了一個示例,以使用BehaviorSubject
在組件之間發送消息
@Injectable()
export class MyService {
private messageSource = new BehaviorSubject<string>('service');
currentMessage = this.messageSource.asObservable();
constructor() {
}
changeMessage(message: string) {
this.messageSource.next(message)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.