我有需要進行通信2個同級組件:Angular 2 - 你如何在兄弟組件中調用一個函數?
<app-controls></app-controls> <app-main></app-main>
應用程式控制包含需要觸發在app-主要成分的事件的按鈕。是否有符合Angular 2風格的指南?
我有需要進行通信2個同級組件:Angular 2 - 你如何在兄弟組件中調用一個函數?
<app-controls></app-controls> <app-main></app-main>
應用程式控制包含需要觸發在app-主要成分的事件的按鈕。是否有符合Angular 2風格的指南?
您可以使用一個模板變量去的兄弟一個參考。 如果<app-controls>
有它發出事件被點擊一個按鈕時,你可以做一個輸出:
<app-controls (buttonClicked)="main.doSomething($event)"></app-controls>
<app-main #main></app-main>
,或者你可以傳遞一個參照@Input() siblings;
,然後調用它的方法:
<app-controls [sibling]="main"></app-controls>
<app-main #main></app-main>
兩種方式:
使用具有依賴注入的共享服務。
或者使用@Input()
UND @Output()
裝飾:
https://angular.io/docs/ts/latest/cookbook/component-communication.html
我即將發佈一個提及輸出+本地模板變量技術的答案,但你擊敗了我:)。這是[plunker](http://plnkr.co/edit/RfqrMs7Rn3S9ZeYLvY83?p=preview)。 –
感謝Plunker :) –
@GünterZöchbauer我如何可以訪問<應用,主要#main>裏面的形式 請注意,這#main IM加載動態組件 – LittleDragon