2017-12-15 6 views
0

角度5.1.1を使用すると、チェックボックスが変更されたときに関数を呼び出そうとしています。このメソッドはtextタイプでは正常に機能しますが、入力タイプがcheckboxの場合は、チェックボックスをオフにしても常にの値をに送信します。誰かが私が間違っていることを説明することはできますか?次のようにここで角度フィールドバインディングを使用してチェックボックスのチェック状態にアクセスする

<input type="checkbox" name="enabled" [checked]="score?.enabled" #enabled (change)="OnFieldChanged(enabled.value)" /> 

は、機能を経由して試行錯誤をたくさんした後

<input type="checkbox" name="enabled" [checked]="score?.enabled" #enabled (change)="OnFieldChanged(score)" /> 

とTS

OnFieldChanged(value: string): void { 
     var fieldValue = value.enabled; 
} 

答えて

1

内のコンポーネント

import { Component} from '@angular/core'; 

@Component({ 
    selector: 'score', 
    templateUrl: './score.component.html', 
    styleUrls: ['./score.component.less'] 
}) 
export class ScoreComponent { 
    public score: IScore; 

    constructor() { 
    } 

    OnFieldChanged(value: string): void { 
     var fieldValue = value; 
    } 
} 
0

だけでアクセススコアです、私は解決策を見つけた。フィールドを[(ngModel)]に適用する必要があります。単純にブール値プロパティは、実際にこれは私が探しています正確に何ではありません

<input type="checkbox" name="enabled" [checked]="score?.enabled" (change)="OnFieldChanged(judge.enabled)" [(ngModel)]="score.enabled" /> 
+0

を更新していなかったので、うまくいきませんでしたもOnFieldChanged(judge)を渡します。私は再利用可能な関数を作成しようとしている私は個々の入力フィールドの値の変化をキャプチャすることができ、全体のオブジェクトではない – JoeGeeky

+0

私はあなたがそれを達成することはできないと思う – Sajeetharan

関連する問題