2017-04-02 81 views
0

我有一個模板驅動的形式,其中我把一個複選框,可以切換它的價值。觸發值的角度材質複選框

組件

public toggles = [ 
    { value: 'toggled', display: 'Toggled' }, 
    { value: 'untoggled', display: 'UnToggled' }, 
]; 

<div> 
    <input type="hidden" name="toggle" [(ngModel)]="user.toggle"> 
    <div> 
     <label> 
      <input type="checkbox" 
       [checked]="user.toggle === toggles[0].value" 
       (change)="$event.target.checked? (user.toggle = toggles[0].value) : (user.toggle = toggles[1].value)"> 
      {{ toggles[0].display }} 
     </label> 
    </div> 
</div> 

下的偉大工程,但是當我切換到角材質的,只不過沒有作品。

材料模板代碼

<input type="hidden" name="toggle" [(ngModel)]="user.toggle"> 
<md-checkbox [checked]="user.toggle === toggles[0].value" 
       (change)="$event.target.checked?(user.toggle = toggles[0].value): (user.toggle = toggles[1].value)"> 
    {{toggles[0].display}}</md-checkbox> 

我越來越控制檯下列錯誤,它說無法讀取未定義控制檯的財產,

TypeError: Cannot read property 'checked' of undefined 
     at Object.eval [as handleEvent] (TemplateDrivenComponent.html:64) 

我知道在哪裏發生錯誤的點$ event.target.checked角度無法讀取該檢查事件對MD-複選框,如何解決這個問題的指針將是巨大的

感謝

+0

好,什麼是$ event.target價值? – TheRealMrCrowley

+0

的$ event.target值從複選框財產來作爲代碼沒有物質如果複選框被選中,或者檢查不 –

+0

我知道它是什麼......但什麼是它的價值 – TheRealMrCrowley

回答

1

望着評論請嘗試以下希望這能解決我猜你不需要在材料的使用目標與事件的問題。

<input type="hidden" name="toggle" [(ngModel)]="user.toggle"> 
     <md-checkbox [checked]="user.toggle === toggles[0].value" 
         (change)="$event.checked?(user.toggle = toggles[0].value): (user.toggle = toggles[1].value)"> 
      {{toggles[0].display}}</md-checkbox> 
+0

感謝它的工作。 –