如何在angularjs的html中将字符串转换为数组

时间:2016-06-03 14:26:41

标签: angularjs filter

.filter('privateip',function() {
    return function(p) {
        p.split(',');
        return p
    }
})
<tr ng-repeat="ins in  instances">
  <td ><input type="checkbox" ng-model="icheckedList[ins.id]" ng-required="{{needOneList}}" ng-checked="all" one-least></td>
  <td><span ng-bind="ins.name"></span></td>
  <td><table><tr ng-repeat="p in ins.private_ip|privateip"></tr></table></td>
  <td ng-bind="ins.public_ip"></td>
</tr>

ins.private_ip是一个字符串(如'192.168.1.1,192,168.1.2,192.168.1.8'),我想转换为数组,我该怎么做才能使用过滤器或你推荐的任何方式。

2 个答案:

答案 0 :(得分:1)

您需要返回拆分结果:

.filter('privateip',function() {
    return function(p) {
        return p.split(',');
    }
});

字符串是不可变的,这意味着p.split(',')不会改变p,而是返回新值(在这种情况下是数组)。

答案 1 :(得分:0)

你可以ngRepeat通过一个返回数组的函数:

<td><table><tr ng-repeat="p in splitIps(ins.private_ip)"></tr></table></td>

//controller
$scope.splitIps = function(ip){
    return ip.split('.');
}