2016-07-19 31 views
2

我之前在子項組件的模板中添加了一個按鈕元素,但由於代碼的分離,我不得不將該按鈕放在子項模板之外(在父項模板中)。如何使用Angular 2綁定父項元素上的事件

我不確定如何綁定該按鈕上的click事件,該事件最終會觸發子組件上的功能。

請建議。

家長:

@Component({ 
selector: 'app', 
template: ` 
    <button>Click me to call child's showMe()</button> 
    <child></child> 
` 
}) 

兒童:

@Component({ 
selector: 'child', 
template: `Hi...` 
}) 

class Child { 
    public showMe() { 
     console.log("ShowMe called..."); 
    } 
    } 

我不想把事件綁定代碼在父母的模板,但想通過按鈕參考子組件&綁定子組件本身內部的事件。

回答

1

您可以使用一個模板變量引用兄弟姐妹

<button (click)="child.doSomething($event)">click me</button> 
<child #child></child> 
+0

Thanks..but我正在尋找類似'@ ViewChild'的東西,這樣我可以只是通過元素ID的兒童及其他活動結合可在子組件本身內完成。 –

+0

請向您的問題添加代碼,以演示您試圖完成的任務。我無法從你的解釋中得出東西是如何相關的。添加代碼 –

+0

。請檢查。 –