javascript - Angular JS 只嵌套一个顶级对象的 ng-repeat?

标签 javascript arrays json angularjs

我有 JSON 对象中的包裹订购数据。我可以执行如下所示的嵌套循环,列出所有订单,然后列出每个订单中的包裹,然后列出每个包裹中的 SKU。

<div ng-repeat="order in orders">
order {{order.ordernum}}
    <div ng-repeat="parcel in order.parcels">
    {{parcel.upid}}
      <div ng-repeat="sku in parcel.skus">
      {{sku.sku}}{{sku.commodity}}
      </div>
    </div>
</div>

但是,我只想要特定订单的详细信息,而不是所有订单。现在,如果这是我想要的第一个订单。我可以用这个:

<div ng-repeat="order in orders | limitTo: 1">
order {{order.ordernum}}
    <div ng-repeat="parcel in order.parcels">
    {{parcel.upid}}
      <div ng-repeat="sku in parcel.skus">
      {{sku.sku}}{{sku.commodity}}
      </div>
    </div>
</div>

注意“limitTo:1”过滤器。但是,如果我想要不同的索引,或者更好的是匹配的订单号(“ordernum”)怎么办?

最佳答案

您可以使用 filter 过滤器(此处假设 theOrder 是一个范围变量,其中包含您想要的订单号):

<div ng-repeat="order in orders | filter:{ordernum: theOrder}">

function OrderController($scope) {
  $scope.orders = [{
    ordernum: 3,
    parcels: [{
      upid: 9
    }, {
      upid: 15
    }]
  }, {
    ordernum: 7,
    parcels: [{
      upid: 1
    }]
  }];

  $scope.theOrder = 3;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js"></script>
<div ng-app="" ng-controller="OrderController">
  <select ng-model="theOrder">
    <option value="{{order.ordernum}}" 
            ng-repeat="order in orders">{{order.ordernum}}</option>
  </select>

  <div ng-repeat="order in orders | filter:{ordernum: theOrder}">
    order {{order.ordernum}}
    <div ng-repeat="parcel in order.parcels">
      {{parcel.upid}}
      <div ng-repeat="sku in parcel.skus">
        {{sku.sku}}{{sku.commodity}}
      </div>
    </div>
  </div>
</div>

关于javascript - Angular JS 只嵌套一个顶级对象的 ng-repeat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28115536/

相关文章:

javascript - electron-builder 是否会使用它不需要的依赖项

javascript - 通过 user_id 减少对象数组并对某些值求和

python - 光滑的离散二维阵列

c# - 如何从 JavaScript 中的 Base64 字符串获取 ZIP 文件?

javascript - 如何获取服务器返回的Json类型?

javascript - 如何加载更多引用帖子ID的ajax数据,用php获取

javascript - 根据一天中的时间触发 javascript 事件

javascript - 解析错误 : Unexpected token with Browserify and template files

python - 展平列表和标量列表

javascript - 如何在显示之前格式化范围对象中的数据?