2017-03-20 40 views
0

我正在使用Angular 2的項目。更改* ngfor中的事件功能複選框

在上的情況是我要創建數組中的一個複選框,所以我做如下:

<span *ngFor="let key of keysArray; let i = index;" > 
    <input type="checkbox" checked [value]="key"> {{key}} 
    </span> 

現在我想改變/單擊事件的每一個複選框,所以我不添加(其他城市)事件類似如下:

<span *ngFor="let key of keysArray; let i = index;" > 
    <input type="checkbox" checked (change)="checkChange($event.checked)" [value]="key"> {{key}} 
    </span> 

功能的組件:

checkChange(event){ 
     alert(event) 
    } 

但是當我運行它的代碼SH欠款錯誤:

self.parentView.context.checkChange is not a function 
+0

是否組件有一個'checkChange'方法?你可以添加顯示它的樣子的代碼嗎? –

+0

你確定'$ event'確實有'checked'屬性嗎? –

+0

是的,在組件中有一個checkChange方法請檢查@GünterZöchbauer – Jigarb1992

回答

1

嘗試$event.target.checked

<input type="checkbox" checked (change)="checkChange($event.target.checked)" 
+0

我試過@GunterZochbauer,但沒有工作 – Jigarb1992

+0

什麼是「不工作」的意思呢?你會得到完全相同的錯誤信息嗎? –

+0

是的,我得到了同樣的錯誤 – Jigarb1992

0

您必須在模板所屬組件的內部定義checkChange方法。

錯誤self.parentView.context.checkChange is not a function意味着在組件內部沒有稱爲checkChange的功能。

相關問題