我有一个使用ng-repeat
的电子商务angularjs项目。在产品详细信息页面上,我获得了超过1个结果。所以我必须使用ng-repeat
。
如何只显示响应的第一个结果/数组?
我的回答如下:
我想要做的只是显示第一个响应[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>
答案 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中使用第二项,否则我会避免它。