AngularJS:为什么ngrepeat无法正常工作而不显示数据?

时间:2015-06-11 18:15:09

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

我正在制作一个带有一些条件的嵌套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>

实际上我有两个对象..有一把钥匙我需要显示那些相等的值。但是我没有得到预期的结果为什么?

3 个答案:

答案 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造型的东西),但是如果你不能改变你的数据模型我只推荐使用它。

http://plnkr.co/edit/3K3zKenGHG4hARkXmUTp?p=preview