【发布时间】:2016-08-04 20:15:30
【问题描述】:
使用 Bootstrap 和 AngularJS,有没有办法在水平方向 ng-repeat 为每个设定数量的元素添加一个新行?
我一直在玩 ng-class 来完成这个 Fiddle,但问题是我无法在初始行 div 中获得浮动左 div...任何想法,我是不是没有想到什么,还是最好通过指令来完成?
这是我的代码(上面小提琴链接中的实时示例):
<body ng-app="myApp">
<div ng-controller="MyCtrl">
<div ng-repeat="num in numbers"
ng-class="{'row': ($index)%2==0, 'col-md-6': ($index)%2!=0}">
<div ng-class="{'col-md-6': ($index)%2==0}">
{{num}}
</div>
</div>
</div>
</body>
var myApp = angular.module('myApp', [])
.controller('MyCtrl', function ($scope) {
$scope.numbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
});
.row {
clear: both;
width: 100%;
border: 1px solid red;
}
.col-md-6 {
width: 50%;
float: left;
border: 1px solid blue;
}
【问题讨论】:
-
我不确定我是否理解您想要的最终结果。
-
我是。我对 Foundations 更熟悉,但概念相同。我猜你现在使用的格式似乎没有传达这一点。让我弹奏小提琴。
-
@EnigmaRM 我删除了我的评论,因为我认为我可以更好地解释它,但你在我添加它之前回答了它,所以我将不理会它。我开始认为这是不可能的,因为转发器元素在 AngularJS 1.1.5(我正在使用的)中有一个结束标签,AngularJS 1.2 有一个可以解决这个问题的结束转发器标签,我在等待一个稳定的释放,但我可能不得不跳起来并修复我所有的动画。如果您找到解决方案,请告诉我。谢谢。
-
不要放弃,有可能。确实,在 1.1.5 中有一个
ng-repeat-start和ng-repeat-end(或类似的东西)。不过,我还没有发现需要使用它。而且 1.1.5 也不是一个稳定的版本。因此,如果您已经在使用它,则无需担心跳转到不稳定的 1.2。但是 1.1.5 和 1.2 之间存在相当多的差异,因此我还没有采取行动。
标签: angularjs twitter-bootstrap-3 angularjs-ng-repeat