角度 ng-repeat 用于逗号分隔的字符串

Posted

技术标签:

【中文标题】角度 ng-repeat 用于逗号分隔的字符串【英文标题】:Angular ng-repeat for comma separated strings 【发布时间】:2015-04-07 08:55:39 【问题描述】:

我有一个关于 angularjs 的问题。

在我的控制器中,我有一个逗号分隔的字符串,我将在我的 index.html(使用 ng-repeat)中显示它

这是我的控制器:

myApp.controller('TabsDemoCtrl',function($scope,$http)
    $http.get('/performbatch').success(function(data) 
        $scope.string = 'Gzrgh,1,2,1,4,1,1,1,20150304,20180304';
        $scope.arrString = new Array();
        $scope.arrString = $scope.string.split(',');
    );

这是我的html:

<div ng-controller="TabsDemoCtrl">
    <td ng-repeat="icerik in arrString">
       icerik
    </td>
</div>

但我无法做到这一点。你能帮助我吗? 提前致谢。

【问题讨论】:

我又编辑了,还是不行 你不能在表之外有 td。您可以使用其他一些html标签元素 【参考方案1】:

这里是plunker 给你

你需要使用 track by $index 因为它在数组中有重复值。

ng-repeat="icerik in arrString track by $index"

【讨论】:

荣誉跟踪是一回事,OP 也使用了未显示的td。即使在您的示例中,您也已将其替换为 p 标签:) @mohamedrias 我在 plunker 的示例中使用了

。我知道这一定是他试图展示的小型演示,这就是我没有考虑这一点的原因。 :)

【参考方案2】:

td 不能在 table 之外。

应该是这样的

<div ng-repeat="icerik in arrString track by $index">
       icerik
</div>

另外,由于有些是重复项,您还必须添加track by $index

DEMO

【讨论】:

【参考方案3】:

如果你想重复与,分开的字符串,你应该将字符串拆分为一个数组并重复

试试这个:

  $scope.string = $scope.string.split(",");

这会从, 拆分的字符串创建一个数组。

所以你的代码变成:

myApp.controller('TabsDemoCtrl',function($scope,$http)
    $http.get('/performbatch').success(function(data) 
        $scope.string = 'Gzrgh,1,2,1,4,1,1,1,20150304,20180304';
  $scope.str= str.split(",");
        $scope.arrString = new Array();
        $scope.arrString = $scope.string.split(',');
    );

【讨论】:

【参考方案4】:
<td ng-repeat="L in Labour.CWCT_Description.split(',') track by $index" >
                                        L
                                    </td>

【讨论】:

以上是关于角度 ng-repeat 用于逗号分隔的字符串的主要内容,如果未能解决你的问题,请参考以下文章

用于未定义属性的 ng-repeat 过滤器

没有 ng-repeat 的角度过滤器列表

具有数组长度条件的角度 ng-repeat

如何在角度 ng-repeat 中创建新行?

在角度 ng-repeat 中使用基础的下拉菜单

ng-repeat 中的角度验证不起作用