如何仅显示ng-repeat中的第一个结果

时间:2017-03-28 20:10:07

标签: javascript angularjs

我有一个使用ng-repeat的电子商务angularjs项目。在产品详细信息页面上,我获得了超过1个结果。所以我必须使用ng-repeat

如何只显示响应的第一个结果/数组?

我的回答如下:

enter image description here

我想要做的只是显示第一个响应[0]。直到后来我都不想显示第二个数组。

控制器:

unarcoQS.controller ('prodCtrl', ['$scope', 'productService', 'ngCart', 
'$route', '$routeParams', '$resource', function($scope, productService, ngCart,
$route, $routeParams, $resource) 
{
id = $routeParams.PartNumber;

productService.query({PartNumber: id}, function(response){
   $scope.products = response;
});

HTML:

<div class="col-md-7" ng-repeat="product in products">
    <div class="product-title">{{product[0].Description}}</div>
    <div class="product-desc">{{product[0].Category}}</div>
</div>

3 个答案:

答案 0 :(得分:0)

您还可以使用$index跟踪索引并仅显示索引值

  <ul ng-repeat="product in products" ng-show="$index == 0">
      <div class="product-title">{{product.Description}}</div>
      <div class="product-desc">{{product.Category}}</div>
  </ul>

答案 1 :(得分:0)

你可以使用

  •  product in products[0]

  • product in products ng-show="$index ==0"
  • product in product | limitTo:1 选择一个并使用

  • 答案 2 :(得分:0)

    &#34;我想要做的只是显示第一个响应[0]。我不想在以后显示第二个阵列。&#34;

    Thanh的回答非常好,但是你能否详细说明&#34;直到稍后&#34;:如果你想保留数组但只显示这个页面上的第一项,你可以做以下事情:

    <div class="col-md-7">
        <div class="product-title">{{products[0].Description}}</div>
        <div class="product-desc">{{products[0].Category}}</div>
    </div>
    

    除非你需要在ng-repeat中使用第二项,否则我会避免它。

    相关问题