Angularjs - 使用ng-repeat连续多行循环

时间:2018-04-27 05:14:37

标签: javascript arrays angularjs

伙计我有两个数组要映射到每个行列,所以首先在行的某些列中循环成功地用ng-repeat映射但是我在同一行中有另一个循环来映射同一行中的几列。所以可以我在这里使用ng-repeat,我如何处理这个问题?

<tr ng-repeat="x in liveclaimdata"  ng-repeat="y in hxdata"   line-height="24px" id="row_{{$index+1}}" >

    <td></td>
    <td></td>
    <td></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id="{{$index+1}}_payer"></td>
    <td id="{{$index+1}}_payer"></td>
    <td id="{{$index+1}}_denials" ng-required="false" >{{x.denials}}</td>
    <td id="{{$index+1}}_low_reimb">{{x.low_reimb}} </td>
    <td id="{{$index+1}}_bundling">{{x.bundling}}</td>
    <td id="{{$index+1}}_payer_rating">{{x.payer_rating}}</td>
    <td id="{{$index+1}}_mr_request">{{x.mr_request}}</td>
    <td id="{{$index+1}}_appeal_percentage">{{x.appeal_percentage}}</td>
    <td id="{{$index+1}}_appeal_paid_percentage">{{x.appeal_paid_percentage}}</td>

    <td>Test  {{y.denials}} </td>

    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>

此处ng-repeat="y in hxdata"无效。

实时数据阵列

0
:
$$hashKey
:
"object:61"
appeal_paid_percentage

:
"0"
appeal_percentage
:
"0"
bundling
:
"0"
cpt
:
"35301"
denials
:
"0"
low_reimb
:
"1"
mr_request
:
"0"
payer
:
"AETNA INSURANCE - TRS/KY"
payer_rating
:
"0"
row_num
:
"0"
1
:
$$hashKey
:
"object:62"
appeal_paid_percentage
:
null
appeal_percentage
:
null
bundling
:
null
cpt
:
"26370"
denials
:
null
low_reimb
:
null
mr_request
:
null
payer
:
"AETNA INSURANCE - TRS/KY"
payer_rating
:
null
row_num
:
"1"
__p

hx数据中的类似结构

2 个答案:

答案 0 :(得分:1)

根据我对该问题的理解,您在2个数组中有相关数据,并且您希望使用ng-repeat来绘制它。

更新(删除第二次ng-repeat)

<tr ng-repeat="x in liveclaimdata"  ng-repeat="y in hxdata"   line-height="24px" id="row_{{$index+1}}" >

<tr ng-repeat="x in liveclaimdata" line-height="24px" id="row_{{$index+1}}" >

更新(使用索引迭代第二个数组)

<td>Test  {{y.denials}} </td>

<td>Test  {{hxdata[$index].denials}} </td>

答案 1 :(得分:0)

这可以通过另一种方法解决。通过在contoller构造函数

中的$ scope中创建一个函数
$scope.livedatamapping=function(response){   
                     $.each(response.data, function(key, value){    
                             var row = parseInt(key)+1;   
                       $('#'+row+'_appeal_paid_percentage').html(value.appeal_paid_percentage);
                       $('#'+row+'_appeal_percentage').html(value.appeal_percentage);
                       $('#'+row+'_bundling').html(value.bundling);
                       $('#'+row+'_denials').html(value.denials); 
                       $('#'+row+'_low_reimb').html(value.low_reimb);
                       $('#'+row+'_mr_request').html(value.mr_request); 
                       $('#'+row+'_payer_rating').html(value.payer_rating);
                         $scope.edidataLoader=false;
                       //$scope.claimdataLoader=false;
                 }); 
    } 

然后将每个值映射到html mapper.Thats it