2017-09-26 1 views
0

ngOninit 중 일부 입력을 기반으로 선택한 라디오 버튼을 설정하고 싶습니다. 양방향 데이터 바인딩을 사용하고 싶습니다.각도 4 : 라디오 버튼 : 선택됨 (양방향 데이터 바인딩 사용)

해결 방법? (값 = "0"[가치] = "0"에 해당)

<div class="form-group"> 
    <div class="col-xs-3"><label>Checker</label></div> 
    <div class="col-xs-9"> 
     <label class="radio-inline"><input type="radio" [(ngModel)]="checker" name="checker" value="0" [checked]="checker==0">Nee</label> 
     <label class="radio-inline"><input type="radio" [(ngModel)]="checker" name="checker" value="1" [checked]="checker==1">Akkoord</label> 
     <label class="radio-inline"><input type="radio" [(ngModel)]="checker" name="checker" value="2" [checked]="checker==2">Geen</label> 
    </div> 
    </div> 
</div 
+2

이'[checked] = "checker == 0"'은 쓸모가 없습니다. 그리고 라디오 버튼의 값은 숫자가 아닌 문자열입니다. http://plnkr.co/edit/TQJz0GD4tVEGfOajhjJw?p=preview –

+0

@JBNizet - 감사합니다! 이 텍스트를 답에도 넣을 수 있습니까? 그런 다음 +1로 해결됩니다. – tjm1706

답변

2

값의 속성은 문자열을 포함하고 검사기 변수에 포함 된 것 같습니다 :이 (및 이와 유사한 시도가) 작동하지 않습니다 숫자와 RadioControlValueAccessor의 writeValue 메소드를 보면, Angular는 === 연산자와의 엄격한 비교를 사용합니다.

따라서 문제를 해결하려면 다음과 같이 대괄호를 추가해야합니다. [value] = "0". 이 경우 두 개의 변수에 동일한 값이 포함되어 있으면 value 속성에 숫자가 포함되고 테스트 검사기 === value가 true가됩니다.

또한 확인 된 바인딩을 제거해야합니다.

관련 문제