PhoneGap中文网

标题: ion-radio ng-value 值不能为string类型 [打印本页]

作者: dailuwen    时间: 2015-9-28 15:30
标题: ion-radio ng-value 值不能为string类型
ion-radio ng-value 值不能为string类型,话不多说直接附代码......
  1. controller  里面定义
  2. $scope.onVehicleType = function(){
  3.                         $scope.vehPopup = {'vehicleType':$scope.vehicle.vehicleType};
  4.                         var vehicleType =$ionicPopup.show({
  5.                                 templateUrl: 'templates/popup/vehicleType.html', // String (可选)。在弹窗body内的html模板的URL : '<h3>这是弹框</h3>',
  6.                                 title : '选择车型',
  7.                                 scope : $scope,
  8.                                
  9.                                 buttons : [
  10.                                            {text : 'Cancel'},
  11.                                            {text : '<b>Ok</b>',
  12.                                                 type : 'button-positivve',
  13.                                                 onTap : function(e){
  14.                                                         if(null != $scope.vehPopup.vehicleType){
  15.                                                                 $scope.vehicle.vehicleType = $scope.vehPopup.vehicleType;
  16.                                                         }
  17.                                                        
  18.                                                         // 当点击时,e.preventDefault() 会阻止弹窗关闭。
  19.                                                         return $scope.vehPopup.vehicleType;//返回给定的值
  20.                                                 }
  21.                                            }
  22.                                   ]
  23.                         });
  24.                 };
复制代码
以上是 自定义controller,一个方法,当触发这个方法的时候,弹出vehicleType.html 页面,
  1. <div class="list">
复制代码
以下为执行结果!
会默认选择 车型4.5 选项,而且直接报错或拿不到值

QQ截图20150928153039.png (185.66 KB, 下载次数: 416)

触发事件直接报错

触发事件直接报错

作者: dailuwen    时间: 2015-9-28 15:31
html页面好像没显示对,重新附上!
作者: dailuwen    时间: 2015-9-28 15:32
  1. <div class="list">
  2.                 <ion-radio ng-model="vehPopup.vehicleType" ng-value='4'>车型4</ion-radio>
  3.                 <ion-radio ng-model="vehPopup.vehicleType" ng-value='sss4.5'>车型4.5</ion-radio>
  4.                 <ion-radio ng-model="vehPopup.vehicleType" ng-value='5'>车型5</ion-radio>
  5. </div>
复制代码

作者: dailuwen    时间: 2015-9-28 17:13
原因已找出。
直接这样写不行,会报错或取不到值,
  1. <div class="list">
  2.                 <ion-radio ng-model="vehPopup.vehicleType" ng-value='4'>车型4</ion-radio>
  3.                 <ion-radio ng-model="vehPopup.vehicleType" ng-value='sss4.5'>车型4.5</ion-radio>
  4.                 <ion-radio ng-model="vehPopup.vehicleType" ng-value='5'>车型5</ion-radio>
  5. </div>
复制代码

如果这样写那就没任何问题了。
  1. $scope.vehTypeList = [{'text':'车型4', 'value':'4.0'},{'text':'车型4', 'value':'sss4.5'},{'text':'车型4', 'value':'5.0'}];
  2.                        
复制代码

作者: dailuwen    时间: 2015-9-28 17:13
dailuwen 发表于 2015-9-28 17:13
原因已找出。
直接这样写不行,会报错或取不到值,

<div class="list">
        <ion-radio ng-repeat="item in vehTypeList" ng-value="item.value" ng-model="vehPopup.vehicleType">
          {{ item.text }}
        </ion-radio>
</div>




欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2