即使在一個組件中,我也需要創建一個點擊,它會在其父組件中顯示兄弟組件,但不知道如何去做。我理解使用輸入和輸出的父母/孩子通信,但這不是那樣工作的。兄弟組件之間的通信Angular2
所以我有這樣的結構:
-Parent組件
- 兒童一臺
- - 兒童兩個
所以他們在我父組件的html,
<app-child-one></app-child-one>
<app-child-two></app-child-two>
Child One和Child兩個組件都是彈出式菜單,所以在父組件中單擊時,我顯示Child One組件(現在彈出),在彈出框內,我有按鈕Next,它應該顯示Child Two組件。
因爲還有更多的彈出窗口,所以我無法在Child One內部嵌入Child Two,所以我想保持它有點組織。
這裏是我的代碼:
父組件:
<app-one *ngIf="popupOne" [(popupOne)]="popupOne"></app-one>
<app-two *ngIf="popupTwo" [(popupTwo)]="popupTwo"></app-two>
兩個popupOne
和popupTwo
被設置爲false。
組件之一:
Input() popupOne: boolean;
Input() popupTwo: boolean;
Output() popupOneChange= new EventEmitter<boolean>();
Output() popupTwoChange= new EventEmitter<boolean>();
close() { this.popupOne.emit(false); }
openPopupTwo() { this.popupTwoChange.emit(true); }
組件二:
Input() popupTwo: boolean;
創建服務https://angular.io/docs/ts/latest/tutorial/toh-pt4.html –
「我理解使用輸入和輸出的父/子通信,但這不是那樣工作」 - 爲什麼不?第一個孩子對父母說他已經完成了;父母將切換到第二個孩子。 –
@CosminAbabei我試過了,在父母我設置爲變量爲false,輸入它在孩子一個,並輸出更改,輸入它內部孩子兩個=不工作 – grabnem