我正在制作一个带有一些条件的嵌套ng-repeat的简单演示。它不打印任何值为什么? 实际上我试图在两个对象的迭代后得到低于结果
预期结果
ght nor
abc pqr
代码笔或plunker
\
<ion-scroll scrollbar-y="true">
<div class="row rowclass" ng-repeat="column in a ">
<div class="col brd text-center collapse-sm columnCss" ng-repeat="field in column.columns" ng-show="b[$index].fieldNameOrPath===field.fieldNameOrPath">{{field.value}}</div>
</div>
</ion-scroll>
实际上我有两个对象..有一把钥匙我需要显示那些相等的值。但是我没有得到预期的结果为什么?
答案 0 :(得分:0)
您需要更新
ng-show="b[$index].fieldNameOrPath===field.fieldNameOrPath"
到
ng-show="b[$index-1].fieldNameOrPath===field.fieldNameOrPath"
在你的json中,fieldNameOrPath属性在a和b中是不同的,就像它是&#34; Sub&#34;并且在b中它是&#34;主题&#34;,所以要么更新a或b,要使属性fieldNameOrPath在两个地方都相同。
答案 1 :(得分:0)
以下是uploadify的答案。 同样在script.js文件中,我已经纠正了一些类型错误。
ng-show="b[$index-1].fieldNameOrPath===field.fieldNameOrPath"
答案 2 :(得分:0)
虽然在技术上可以使用您当前的数据集执行此操作,但我非常建议您将数据模型更改为如下所示:
$scope.dataRows = [
{
ID: "00TK000000INaMXMA1",
Subject: "ght",
Priority: "normal"
},
{
ID: "00TKabc",
Subject: "abc",
Priority: "pqr"
}
];
你的HTML就是这样的:
<ion-scroll scrollbar-y="true">
<div class="row rowclass" ng-repeat="row in dataRows">
<div class="col brd text-center collapse-sm columnCss">
{{row.Subject}}
</div>
<div class="col brd text-center collapse-sm columnCss">
{{row.Priority}}
</div>
</div>
</ion-scroll>
但是,如果由于某种原因这是不可能的(来自其他地方的数据提供等),那么我就是如何修复你的表格问题:
1:你的fieldNameOrPath属性不匹配(一个是&#34; Pri&#34;和&#34; Sub&#34;另一个是&#34;优先级&#34;和&#34受试者#34;。)
2:遗憾的是,您需要添加另一个ng-repeat。您的索引没有正确排列,因为您的数据中有3个字段,数据列中有2个字段。我已经为你解决了你的问题(减去一些css造型的东西),但是如果你不能改变你的数据模型我只推荐使用它。