2013-11-27 12 views
5

कृपया इस उदाहरण पर ध्यान दें:एनजी-मॉडल परिवर्तन

JSFiddle Sample



    <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); 
     } 
    } 

आप शुरू में typeof देख सकते हैं प्रकार बूलियन की लेकिन यह स्ट्रिंग में परिवर्तन एक मूल्य के चयन करने के बाद है, और सच 'सत्य' के बराबर नहीं है। क्या कोई तरीका है कि मैं कोणीय को मूल प्रकार को संरक्षित कर सकता हूं।

इस बिंदु पर मैं इस व्यवहार को नियंत्रित करने के लिए अपना खुद का निर्देश लिखने पर विचार कर रहा हूं लेकिन यह सही नहीं लगता है कि कोणीय मूल प्रकार को बदलता है, क्या मैं सही हूं?

उत्तर

17

उपयोग ng-value और कोणीय बूलियन वापस करने के लिए परिवर्तित संभाल लेंगे:

यहाँ updated jsfiddle है।

और अनिवार्य कोड:

<div ng-controller="myCtrl"> 
    <h1>Sample 1- Booleans</h1> 

var ng-model = {{myValue}} - {{myType}} 
    <br /> 
    <input type="radio" ng-value="true" name="boolean" ng-change="logIt()" ng-model="myValue" /> True 
    <input type="radio" ng-value="false" name="boolean" ng-change="logIt()" ng-model="myValue" /> False 
</div> 
+0

दिलचस्प मैं रेडियो बटन के लिए दस्तावेज़ की जाँच की और एनजी-मूल्य नहीं मिला http://code.angularjs.org/1.0.8/docs/api/ng .directive: input.radio। त्वरित उत्तर के लिए धन्यवाद। – Dalorzo

संबंधित मुद्दे