0
我想在Angular2上溝通組件,並發現使用輸出裝飾器是我最好的方法,所以我遵循了文檔的指南,並做了完全相同的步驟。雖然當我嘗試登錄控制檯時,我從子節點收到的是一個Event對象,而不是它應該是的字符串。這個EventEmitter爲什麼會返回一個事件而不是一個字符串?
這是子組件發出的事件(TreeView控件組件):
@Component ({
selector: 'tree-view',
template: `
<ul>
<li *ngFor="let node of treeData | derp">
<input type="checkbox" name="isActive" *ngIf="node._name?.length > 0" (click)="choose(node)">
[...]
</li>
</ul>
`
})
export class TreeView implements OnInit {
@Output() onChosen = new EventEmitter<string>();
choose(feature: string) {
this.onChosen.emit(feature);
}
}
這是接收它的父組件:
<tree-view (change)=onChosen($event) [treeData]=myTree></tree-view>
這是被稱爲在回調包含以上模板的父組件:
onChosen(feature: string) {
console.log(feature);
}
我該幹什麼克錯了?
我認爲是這樣,我試過了,但是當它發生時,事件永遠不會被觸發,也沒有任何事情記錄到控制檯。 –
編輯我的文章。 – Lionel
它仍然不起作用。當我點擊複選框時沒有任何反應。 –