我想在ng-view中将json对象转换为整数:
json string:
$scope.json_arr = [{
'id': '1',
'name': 'abc'
},
{
'id': '2',
'name': 'xyz'
}];
在视图中:
<ul ng-repeat="vals in json_arr">
<li><input type="number" ng-model="vals.id" /></li>
<li><input type="text" ng-model="vals.name" /></li>
</ul>
当我看到输出时,number
字段变为空白,因为value
对象的id
是字符串。
如何将字符串'id':'1'
转换为整数??
答案 0 :(得分:3)
使用ng-init
,只要您为ng-repeat
显示数组中的新元素,就会运行此代码,如果您使用此代码:
<ul ng-repeat="vals in json_arr" ng-init="parseId(vals)">
<li><input type="number" ng-model="vals.id" /></li>
<li><input type="text" ng-model="vals.name" /></li>
</ul>
然后剩下的就是编写引用的parseId
函数
$scope.parseId = function(val){
val.id = parseInt(val.id);
}
<强> Plunkr 强>
答案 1 :(得分:0)
试试吧
Html方
<ul ng-repeat="vals in json_arr">
<li> <input type="number" value="{{convertToInt(vals.id)}}"/></li>
<li><input type="text" ng-model="vals.name" /> </li>
</ul>
Js Side
$scope.convertToInt= function (value) {
return parseInt(value);
};
它为我工作。