source

모델에 부울 값을 할당하는 방법

ittop 2023. 3. 18. 09:21
반응형

모델에 부울 값을 할당하는 방법

2개의 입력 라디오 버튼이 있는 다음과 같은 화면이 있습니다.

<label>
    <input type="radio" name="test" ng-model="fooBar" 
        value="true" ng-change="logConsole()">
    True
</label>

<label>
    <input type="radio" name="test" ng-model="fooBar" 
        value="false" ng-change="logConsole()">
    False
</label>

컨트롤러의 외관은 다음과 같습니다.

//Initialization
$scope.fooBar = false;

$scope.logConsole = function () {
    console.log("Value is : " + $scope.fooBar);
    console.log("Type is : " + typeof $scope.fooBar); //Always displays 'string'
};

문제는 사용자가 라디오 버튼 중 하나를 선택했을 때fooBarmodel은 항상 String입니다.즉, 값은 String 'true' 또는 String 'false'입니다.유형을 부울 참값 또는 부울 거짓값으로 지정합니다.뷰 내에서 모델에 부울 값을 저장하려면 어떻게 해야 합니까?

편집: 방금 시도했는데도 작동하지 않습니다.를 위해value다음과 같은 부울 true 또는 false를 반환하는 함수를 전달했습니다.

<input type="text" value="{{getBoolean('true')}}....>

$scope.getBoolean = 함수(값) { if (값 === 'true')가 true를 반환하고, 그렇지 않으면 false를 반환함;};

라디오 버튼을 선택해도 String(문자열)이 표시됩니다.

문서의 코멘트 중 하나는 다음과 같습니다.

ng-value는 문서화되어 있지 않지만 특히 부울 값에 바인딩되어 있는 경우 유용한 지시어입니다.

<input ng-model="foo" type="radio" value="true"> 

효과가 없을지도 모르지만

<input ng-model="foo" ng-value="true" type="radio"> 

한다.

언급URL : https://stackoverflow.com/questions/17701949/how-to-assign-boolean-value-to-model

반응형