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'
};
私の問題は、ユーザーがラジオボタンのいずれかを選択すると、fooBar
モデルのタイプが常に文字列になることです。つまり、値は文字列 'true' または文字列 'false' のいずれかです - タイプをブール値にしたいtrue 値またはブール値の false 値。モデルに (ビュー内から) ブール値を格納するにはどうすればよいですか?
編集:これを試してみましたが、まだ機能しません。属性にはvalue
、次のようなブール値の true または false を返す関数を渡しました。
<input type="text" value="{{getBoolean('true')}}....>
$scope.getBoolean = function (value) { if (value === 'true') return true; それ以外の場合は false を返します。};
ラジオボタンが選択されている場合でも、文字列になります...