У меня есть следующий вид с двумя входными переключателями:
<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'
};
Моя проблема заключается в том, что когда пользователь выбирает один из переключателей, тип модели fooBar
всегда является строкой, то есть значением является либо строка "true", либо строка "false" - я хочу тип, который должен быть логическим истинным значением или логическим ложным значением.
Как я могу сохранить логическое значение (изнутри представления) на модель?
EDIT: Я просто попробовал это, и он все еще не работает. Для атрибута value
я передал функцию, которая вернет логическое значение true или false, что-то вроде этого:
<input type="text" value="{{getBoolean('true')}}....>
$scope.getBoolean = function (value) { if (value === 'true') return true; else возвращает false; };
По-прежнему создается строка, когда переключатели выбраны...