我有一个带有单选按钮的简单表单,它从服务器中提取值并循环遍历它们以提供单选按钮:
<form ng-submit="createSubCategory(subcategory)"> <div ng-repeat="sub_category in event_sub_categories" > <label class="item item-radio"> <input type="radio" ng-model="subcategory" ng-value="'{{sub_category}}'" > <div class="radio-content"> <div class="item-content"> {{sub_category}} </div> <i class="radio-icon ion-checkmark"></i> </div> </label> </div> <div class="padding"> <button type="submit" class="button button-block button-positive">Continue</button> </div> </form>
表格完美显示.但是,我按下的单选按钮似乎没有保存.这是createSubCategory方法:
$scope.createSubCategory = function(subcategory){ console.log(subcategory); }
日志显示未定义.填写表格后如何记录子类别?
解决方法
ng-repeat创建自己的范围.由于您将单选按钮绑定到子类别,因此填充的是ng-repeat scope的子类别字段,而不是控制器作用域的子类别字段.
经验法则:
>你的ng模型中总是有一个点
>始终创建包含您要绑定的字段的对象
此外,ng-value需要角度表达式.
所以,在你的控制器中,有这个:
$scope.formModel = {};
在视图中:
<input type="radio" ng-model="formModel.subcategory" ng-value="sub_category" >