如何在单个ng-repeat中显示来自2个不同阵列的值?

时间:2015-02-24 23:44:48

标签: angularjs

请不要编辑这个问题的英文,因为我无法批准这些建议,这个问题不会得到解决。

enter image description here

在上图中,它显示了当前显示的内容。但我想在ids左侧显示计划名称

类似这样的事情

plan_abc 109426 btn btn
 plan_def 109428 btn btn
 plan_ghi 109423 btn btn

json格式如下

enter image description here

使用的代码:

<ul class="ul-plan">
                            <li class="no-bullet-li li-8 monaco" ng-repeat="item in plan.planIds">
                              {{item}}  

                          <a ng-click="select('one')" href=""><i class="glyphicon glyphicon-pencil iconing"></i></a>

                                <a ng-click="deleteClick(item)" href=""><i class="glyphicon glyphicon-remove iconing_1"></i></a>

                            </li>

首先尝试

<li class="no-bullet-li li-8 monaco" ng-repeat="item in plan.planIds" "name in plan.planNames">
         {{name}}  {{item}}  
 </li>

2 个答案:

答案 0 :(得分:1)

如果您有两个大小相同的集合,请说:

$scope.data = { planIds: [1, 2, 3, 4], planNames: ['a', 'b', 'c', 'd'] }

您可以使用$index

<div ng-repeat="id in data.planIds">
    {{ id }} - {{ data.planNames[$index] }}
</div>

答案 1 :(得分:1)

如果你可以改变json结构,那么将它放在对象形式上更合乎逻辑:

plans: [{
    id: 1098565,
    name: 'plan_abc'
},...]

如果无法更改json,则两个数组的长度始终相同:

<li class="no-bullet-li li-8 monaco" ng-repeat="item in plan.planIds">
    {{item}} {{plan.planNames[$index]}}
</li>

$ index是来自ng-repeat指令的神奇值。正如您可能猜到的那样,它会跟踪您在转发器中的位置。