Я подумал, что это может быть хорошим комплиментом к ответу тридцатки .
Он использует угловое повторение ng, вот JSFiddle , основанное на его работе.
CSS
#wrapper {
border: solid 1px #0f0;
background: #ccc;
float: left;
width: 100px
}
#wrapper > div {
outline: solid 1px #000;
width: 50px;
height: 50px
}
.l {
float: left
}
.r {
float: right;
}
.r + .r + .l {
clear: right;
}
.l + .l {
clear: left;
}
.r + .r + .r {
clear: right;
}
Примечание: без изменений здесь
HTML
<div id="wrapper" ng-controller="MainCtrl">
<div ng-repeat="item in items track by item.order" ng-class="{l:item.order%2!=0,r:item.order%2==0}">{{item.id}}</div>
</div>
Я надеялся использовать ng-class-odd
, но это всегда работает от $index
независимо от отслеживания.
JS
var app = angular.module ("app", []);
app.controller ("MainCtrl", функция ($ scope) {
$scope.items = [{
id: 1,
order: 1
}, {
id: 2,
order: 2
}, {
id: 3,
order: 3
}, {
id: 4,
order: 7
}, {
id: 5,
order: 9
}, {
id: 6,
order: 10
}, {
id: 7,
order: 12
}, {
id: 8,
order: 14
}, {
id: 9,
order: 16
}, {
id: 10,
order: 17
}, {
id: 11,
order: 18
}];
});
На самом деле ваши данные будут более сложными, вероятно, поступят из $ rest или $ resource
Надеюсь, это поможет любому, кто пытается сделать это под углом.