Mam następujący widok z dwóch wejściowych przycisków radiowych:Jak przypisać wartość logiczną modelować
<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>
A mój kontroler wygląda następująco:
//Initialization
$scope.fooBar = false;
$scope.logConsole = function() {
console.log("Value is : " + $scope.fooBar);
console.log("Type is : " + typeof $scope.fooBar); //Always displays 'string'
};
Moim problemem jest to, że gdy użytkownik wybierze albo z przycisków opcji, typ modelu fooBar
jest zawsze ciągiem, czyli wartością jest ciąg "prawda" lub ciąg "fałsz" - chcę, aby typ był wartością logiczną prawdziwą lub błędną wartością logiczną. Jak mogę zapisać wartość boolowską (z poziomu widoku) na modelu?
EDYCJA: Właśnie wypróbowałem to i to wciąż nie działa. Dla atrybutu value
zdałem funkcję, która wróci logiczną true lub false, coś takiego:
<input type="text" value="{{getBoolean('true')}}....>
$ scope.getBoolean = function (value) { if (value === 'true') return prawdziwe; else return false; };
Nadal prowadzi String gdy są wybrane przyciski radiowe ...
spróbuj wyjąć atrybut wartości. Niech kątowe wiążą się z bieżącą wartością fooBar. –
@DavinTryon Nie, nie działa. Model otrzymuje wartość 'undefined'. – callmekatootie
dlaczego po prostu nie użyjemy wartości = true –