Comment attribuer une valeur Booléenne pour modèle
J'ai la vue suivante, avec deux boutons radio:
<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>
Et mon contrôleur ressemble:
//Initialization
$scope.fooBar = false;
$scope.logConsole = function () {
console.log("Value is : " + $scope.fooBar);
console.log("Type is : " + typeof $scope.fooBar); //Always displays 'string'
};
Mon problème est que lorsque l'utilisateur sélectionne l'une des boutons radio, le type de la fooBar
modèle est toujours une Chaîne de caractères, c'est la valeur correspond à la Chaîne "true" ou la Chaîne de caractères "false" - je veux que le type de la valeur booléenne true ou un booléen false.
Comment puis-je stocker une valeur de type boolean (à partir de la vue) sur le modèle?
EDIT: je viens d'essayé et ça ne fonctionne toujours pas. Pour le value
attribut, j'ai passé une fonction qui retourne la valeur booléenne true ou false, quelque chose comme ceci:
<input type="text" value="{{getBoolean('true')}}....>
$champ d'application.getBoolean = function (valeur) {
if (valeur === 'true') return true;
else return false;
};
- Il encore des résultats dans une Chaîne de caractères lorsque les boutons radio sont sélectionnés...
- essayez de prendre la valeur de l'attribut. Laissez angulaire se lient à la valeur actuelle de fooBar.
- Non, ne fonctionne pas. Le modèle obtient un
undefined
valeur. - pourquoi ne pas u juste valeur d'usage=true
- Renvoie toujours une Chaîne de vrai et pas un Booléen vrai...
Vous devez vous connecter pour publier un commentaire.
L'un des commentaires dans la documentation dit: