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

AngularJS:为什么ngrepeat不能正常工作而不显示数据?,angularjs,angularjs-directive,angularjs-scope,angularjs-ng-repeat,Angularjs,Angularjs Directive,Angularjs Scope,Angularjs Ng Repeat,我做了一个简单的演示嵌套ng重复与一些条件。它没有打印任何值为什么? 实际上,我试图在两个对象迭代之后得到下面的结果 预期结果 ght nor abc pqr 密码笔还是密码笔 \ {{field.value}} 事实上,我有两个对象。有一个键在里面,我需要显示那些相等的值。但是我没有得到预期的结果。为什么?你需要更新 ng-show="b[$index].fieldNameOrPath===field.fieldNameOrPath" 到 在json中,f

我做了一个简单的演示嵌套ng重复与一些条件。它没有打印任何值为什么? 实际上,我试图在两个对象迭代之后得到下面的结果

预期结果

ght        nor

abc        pqr
密码笔还是密码笔

\


{{field.value}}
事实上,我有两个对象。有一个键在里面,我需要显示那些相等的值。但是我没有得到预期的结果。为什么?

你需要更新

ng-show="b[$index].fieldNameOrPath===field.fieldNameOrPath"

在json中,fieldNameOrPath属性在a和b中是不同的,就像在a中它是“Sub”,在b中它是“Subject”,所以更新a或b,这样属性fieldNameOrPath在两个位置都是相同的。

您需要更新

ng-show="b[$index].fieldNameOrPath===field.fieldNameOrPath"

在json中,fieldNameOrPath属性在a和b中是不同的,就像在a中它是“Sub”,在b中它是“Subject”,所以更新a或b,这样属性fieldNameOrPath在两个位置都是相同的。

下面是答案。 在script.js文件中,我还纠正了一些类型错误

ng-show="b[$index-1].fieldNameOrPath===field.fieldNameOrPath"
下面是答案。 在script.js文件中,我还纠正了一些类型错误

ng-show="b[$index-1].fieldNameOrPath===field.fieldNameOrPath"

虽然在技术上可以对当前数据集执行此操作,但我非常建议更改数据模型,使其看起来像这样:

$scope.dataRows = [
  {
    ID: "00TK000000INaMXMA1",
    Subject: "ght",
    Priority: "normal"
  },
  {
    ID: "00TKabc",
    Subject: "abc",
    Priority: "pqr"
  }
];
<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>
将您的HTML转换为如下内容:

$scope.dataRows = [
  {
    ID: "00TK000000INaMXMA1",
    Subject: "ght",
    Priority: "normal"
  },
  {
    ID: "00TKabc",
    Subject: "abc",
    Priority: "pqr"
  }
];
<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>

{{row.Subject}}
{{row.Priority}}
但是,如果由于某种原因这是不可能的(来自其他地方的数据馈送等),那么下面是我如何修复您的表问题的:

1:您的FieldName或Path属性不匹配(一个是“Pri”和“Sub”,另一个是“Priority”和“Subject”)

2:您将需要添加另一个ng repeat。索引排列不正确,因为数据中有3个字段,数据列中有2个字段。我已经为您制作了一个Plnkr fork来解决您的问题(减去一些css样式),但我只建议您在无法更改数据模型的情况下使用它


虽然在技术上可以对当前数据集执行此操作,但我非常建议更改数据模型,使其看起来像这样:

$scope.dataRows = [
  {
    ID: "00TK000000INaMXMA1",
    Subject: "ght",
    Priority: "normal"
  },
  {
    ID: "00TKabc",
    Subject: "abc",
    Priority: "pqr"
  }
];
<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>
将您的HTML转换为如下内容:

$scope.dataRows = [
  {
    ID: "00TK000000INaMXMA1",
    Subject: "ght",
    Priority: "normal"
  },
  {
    ID: "00TKabc",
    Subject: "abc",
    Priority: "pqr"
  }
];
<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>

{{row.Subject}}
{{row.Priority}}
但是,如果由于某种原因这是不可能的(来自其他地方的数据馈送等),那么下面是我如何修复您的表问题的:

1:您的FieldName或Path属性不匹配(一个是“Pri”和“Sub”,另一个是“Priority”和“Subject”)

2:您将需要添加另一个ng repeat。索引排列不正确,因为数据中有3个字段,数据列中有2个字段。我已经为您制作了一个Plnkr fork来解决您的问题(减去一些css样式),但我只建议您在无法更改数据模型的情况下使用它


@nikil请你给plunker。很抱歉,“它是”Sub“,在b中是”Subject“,你指的plunker不起作用。-角度没有定义。请看-我不知道是什么is@nikil请你给plunker.抱歉,这是“Sub”,在b中是“Subject”您所指的plunker不起作用。-角度未定义。请看-我不知道是什么is@nikil请给plunker。很抱歉,在b中,它是“Sub”,在b中,它是“Subject”,您所指的plunker不起作用。-角度没有定义。请看-我不知道是什么