在ng-view中将json字符串对象转换为整数

时间:2014-06-16 11:55:37

标签: angularjs

我想在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'转换为整数??

Demo Plunker

2 个答案:

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

它为我工作。

Working Source code here