我想在其他电子商务网站上展示产品时在框中显示产品。
我正在使用AngularJS ng-repeat
和bootstrap类,但是它以错误的样式显示产品。
这是我的代码:
<div class="row" id="grdDiv">
<div ng-repeat="category in groupMenuCategories">
<div class="col-md-3 col-lg-3" ng-repeat="grpMenuItem in category.menuItems">
{{grpMenuItem.itemName}}
</div>
</div>
</div>
网站上的必需输出:
item1 item2 item3 item4
item5 item6 item7 item8
。
。
。
电流输出:
item1 item4 item6
item2 item5 item7
item3(无项目)item8
(无项目)-item9
链接:
http://plnkr.co/edit/wyAXgfa2U4gCBtQmYSr2?p=info
最佳答案
您可以使用
<div class="row">
<div class="col-sm-3" ng-repeat="grpMenuItem in category.menuItems">
{{grpMenuItem.itemName}}
</div>
</div>
得到4个等宽列。
如果您需要单独行中的4列,则可以尝试以下操作
<div ng-repeat="grpMenuItem in category.menuItems" class="row" ng-if="$index<category.menuItems.length/4+1">
<div ng-repeat="grpMenuItem in category.menuItems" class="col-sm-3" ng-if="$index>=4*$parent.$index && $index <= 4*($parent.$index+1)-1">
</div>
</div>
Demo
您代码中的问题是您的menuItem是数组,因此您必须以这种方式获取值itemName
<div ng-repeat="grpMenuItem in groupMenuCategories" class="row" ng-if="$index<groupMenuCategories.length/4+1">
<div ng-repeat="grpMenuItem in groupMenuCategories" class="col-sm-3" ng-if="$index>=4*$parent.$index && $index <= 4*($parent.$index+1)-1">
<h4>{{grpMenuItem.menuItems[0].itemName}}</h4>
</div>
</div>
Updated plunker