esa*_*wan 29 grid angularjs angularjs-ng-repeat ionic-framework
我需要通过ng-repeat在我的应用程序中创建如下的strcuture.
<div class="row">
<div class="col-50">1</div>
<div class="col-50">2</div>
</div>
<div class="row">
<div class="col-50">3</div>
<div class="col-50">4</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在我的代码如下:
<div class="row">
<label class="item item-radio col col-50" ng-repeat="a in question.answer">
<input type="radio" name="answers" class="a-{{ a.correct }}" value="{{ a.correct }}" ng-click='ansValue("{{ a.correct }}")'>
<div class="item-content">
<img src="img/ans/{{ a.option }}" />
</div>
<i class="radio-icon ion-checkmark"></i>
</label>
</div>
Run Code Online (Sandbox Code Playgroud)
但是在上面的代码中,它只是我拥有的单行标记.我不想以某种方式获得行标记包含/包装循环中的每2个项目.实现这一目标的最佳方法是什么?
参考: Ionic Grid Doc
Pat*_*eck 46
我成功地使用了它$even.
<div ng-repeat="number in numbers">
<div class="row" ng-if="$even">
<div class="col col-50">{{numbers[$index]}}</div>
<div class="col col-50">{{numbers[$index + 1]}}</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是一个有效的JSFiddle.
Ala*_*med 14
来自@Patrick Reck的解决方案非常出色,但它会强制您重复两次代码,
我建议这个改进:
<div ng-repeat="number in numbers">
<div class="row" ng-if="$even">
<div class="col col-50"
ng-repeat="num in [numbers[$index],numbers[$index + 1]]">
{{num}}
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以将代码编写一次,就好像它是正常的ng-repeat一样
您可以添加flex-wrap:wrap到类行
http://jsfiddle.net/0momap0n/99/
<div ng-controller="MyCtrl">
<div class="row" style="flex-wrap: wrap">
<div class="col col-50" ng-repeat="number in numbers">{{number}}</div>
</div>
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.numbers = [1, 2, 3, 4, 5, 6];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26781 次 |
| 最近记录: |