ng-Modell ändert sich der Typ im radio-Taste
Bitte beachten Sie dieses Beispiel:
<div ng-controller="myCtrl">
var ng-model = {{myValue}} - {{myType}}
<input type="radio" value="true"
name="boolean" ng-change="logIt()" ng-model="myValue" /> True
<input type="radio" value="false"
name="boolean" ng-change="logIt()" ng-model="myValue" /> False
</div>
var myApp = angular.module('myApp',[]);
function myCtrl($scope)
{
$scope.myValue = true; //does not work
//$scope.myValue = 'true'; //it does work
$scope.myType =(typeof $scope.myValue);
$scope.logIt=function(){
$scope.myType =(typeof $scope.myValue);
}
}
Wie Sie sehen zunächst typeof wird der Typ boolean, aber nach Auswahl eines Wertes wird es zum string, und wahr ist nicht gleich wahr'. Gibt es eine Möglichkeit, ich kann Winkel mit Erhaltung der ursprünglichen Typ.
In diesem Punkt bin ich mit dem Gedanken schreiben meine eigenen Richtlinie um dieses Verhalten zu Steuern, aber es sieht nicht richtig, dass die Winkeländerungen der ursprünglichen Art, bin ich richtig?.
InformationsquelleAutor Dalorzo | 2013-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
ng-value
und eckige Griff der Konvertierung zurück zu boolean:Hier ist die aktualisiert jsfiddle.
Verpflichtenden code:
InformationsquelleAutor Davin Tryon