2016-07-28 73 views
2

父模板如何讓孩子和父母組件之間的Angular 2溝通工作?

<problem-form *ngIf=showProblemView (addProblem)=problemAdd($event)></problem-form> 

輔元件

import { Component, Output, EventEmitter } from '@angular/core'; 
@Output() addproblem = new EventEmitter<string>(); 
onClick() { 
    this.addproblem.emit('something') 
    console.log('onSubmit') 
    this.active = false; 
} 

父事件處理

problemAdd($event) { 
    debugger; 
    console.log('eventString ') 
} 

我知道孩子事件從以下調試器發射。我的理解是,父母沒有捕獲發射的兒童事件。有任何想法嗎?謝謝!

回答

3

在你的孩子:

@Output() addproblem = new EventEmitter<string>(); 

在父:

<problem-form *ngIf=showProblemView (addProblem)=problemAdd($event)></problem-form> 
             ^

通知資本P.

角2是區分大小寫的。

將屬性重命名爲addProblem或將輸出處理程序重命名爲(addproblem)

+0

Thanks @acdcjunior我必須將我的VSCode查找設置更改爲區分大小寫。 StackOverflow希望我等待7分鐘來接受答案。謝謝! –

+0

感謝@tibbus昨天的回覆。我解決了這個問題,因爲我手動輸入了我的代碼到stackoverflow。在這裏我做了複製/粘貼。但在這兩種情況下,錯誤都是由於錯誤的變量造成的。 –