我有一个json对象矩阵,我从服务器和客户端获取它,我想用矩阵的每一行构建一个表。 我不知道如何使用角度指令ng-repeat来做到这一点 谢谢你的帮助
这是app.js
$scope.inspectionEnCoursDinspection=[];
$http.get("http://localhost:8080/projet/getInspectionEnCoursDinspection").success(function (data, status, headers, config) {
$scope.inspectionEnCoursDinspection1=data;
})
这是我的html页面
<table class="table table-bordered">
<tr ng-repeat="insp in inspectionEnCoursDinspection1 | orderBy: 'tests.length':'reverse' ">
<td>Mat{{insp.vehicule.matricule}}</td>
<td><div ng-repeat="aa in insp.tests">
Test<ul><li ng-repeat="defaut in aa.defauts">{{defaut.nomDefaut}}</li></ul>
</div>
</td>
</table
这是矩阵
中的一个json对象[{"idInspection":15,"debutInspection":null,"finInspection":null,"valide":false,"dateInspection":1462750361452,"produit":{"idProduit":1,"nomProduit":"Réinspection"},"ligne":{"idLigne":5,"description":"DES LIGNE 1","bancs":[{"idBanc":12,"description":"BANC1","ordre":1,"bancType":{"idBancType":6,"defauts":[{"idDefaut":7,"nomDefaut":"DEFAUT1"}],"description":"TYBE BANC 1"}},{"idBanc":13,"description":"BANC2","ordre":2,"bancType":{"idBancType":9,"defauts":[{"idDefaut":10,"nomDefaut":"DEFAUT4"},{"idDefaut":11,"nomDefaut":"DEFAUT5"}],"description":"TYBE BANC 2"}}],"numligne":1},"inspecteur":null,"tests":[{"idTest":16,"dureeTest":null,"testValide":false,"defauts":[{"idDefaut":7,"nomDefaut":"DEFAUT1"}]}],"termine":false,"vehicule":{"idVehicule":14,"matricule":11,"couleur":"3","carburant":"option1","modelVehicule":{"idModel":8,"marque":"MARQUE1","model":"MODEL1"}}}]
答案 0 :(得分:0)
因此,您的代码所做的是为 inspectionEnCoursDinspection1 数组中的每个 insp 对象创建一个表格行。
然后在该行中为 insp.vehicule.matricule
创建一个单元格然后制作另一个单元格并使用 insp.tests 中的一些列表填充它 其中每个列表都包含 aa 中每个项目的多个点数。
这里有一些事情。首先,您的<tr>
标记永远不会关闭。即在</tr>
</table>
标签
接下来我认为你想要每个列表有多个单元格。在这种情况下你应该有;
<td ng-repeat="aa in insp.tests">Test
<ul>
<li ng-repeat="defaut in aa.defauts">{{defaut.nomDefaut}}</li>
</ul>
</td>
这样你就会重复元素,这就是表格中单元格的原因。
所以你的最终代码应该是这样的。
<table class="table table-bordered">
<tr ng-repeat="insp in inspectionEnCoursDinspection1 | orderBy: 'tests.length':'reverse' ">
<td>Mat{{insp.vehicule.matricule}}</td>
<td ng-repeat="aa in insp.tests">Test
<ul>
<li ng-repeat="defaut in aa.defauts">{{defaut.nomDefaut}}</li>
</ul>
</td>
</tr>
</table>
修改强>: 您可能遇到的另一个问题是,在您的第一次重复重复中,您有:
| orderBy:&#39; tests.length&#39;:&#39;反向&#39; &#34;
你不希望引用&#39;反向&#39;。它应该是:
<tr ng-repeat="insp in inspectionEnCoursDinspection1 | orderBy: 'tests.length':reverse "