假设我有一份苹果清单,我想在每个篮子里放4个苹果。在HTML中,它将如下所示:
<div class="basket">
<span class="apple">Green</span>
<span class="apple">Green</span>
<span class="apple">Green</span>
<span class="apple">Green</span>
</div>
<div class="basket">
<span class="apple">Green</span>
<span class="apple">Green</span>
<span class="apple">Green</span>
<span class="apple">Green</span>
</div>
我希望能够在Angualrjs中使用ng-repeat执行此操作:
<div class="basket" ng-repeat="apple in apples>
<span class="apple">{{apple.color}}</span>
</div>
每4个苹果创造一个新的篮子等。
答案 0 :(得分:1)
你试过吗,ng-if
array_walk($links,function($value,$key) {
$value = trim($value);
});
$links = array_filter(
$links,function($element) {
return strpos($element,'http://mega.co.il') !== true;
});
答案 1 :(得分:0)
我认为您最好的答案在于如何构建模型。我会以分层方式填充它,以最好地支持html中所需的渲染。
<强>控制器强>
app.controller('MainCtrl', function($scope) {
$scope.appleBaskets = [{
basketId: 1,
apples: [{
color: 'green'
}, {
color: 'red'
}, {
color: 'gold'
}, {
color: 'red'
}, ]
}, {
basketId: 2,
apples: [{
color: 'green'
}, {
color: 'red'
}, {
color: 'green'
}, {
color: 'yellow'
}]
}, {
basketId: 3,
apples: [{
color: 'green'
}, {
color: 'red'
}, {
color: 'green'
}, {
color: 'red'
}]
}]
});
<强> HTML 强>
<body ng-controller="MainCtrl">
<div ng-repeat="appleBasket in appleBaskets">
<div>{{appleBasket.basketId}}</div>
<div ng-repeat="apple in appleBasket.apples">
<span>{{apple.color}}</span>
</div>
</div>
</body>
答案 2 :(得分:0)
一种方法是拥有一个basket
数组,每个数组都包含一个apple
数组。那么你可以将ng-repeat
嵌套为......
<div class="basket" ng-repeat="basket in baskets">
<span class="apple" ng-repeat="apple in basket.apples">{{apple.color}}</span>
</div>
如果你只想要一个苹果的一维数组,而不是一个包含苹果的二维篮子阵列,那么你可以用苹果在视觉上将苹果分成几个。
执行此操作的一种方法是设置一个名为new-line
的CSS类,并将其定义为设置display: block;
或任何您想要用来强制换行的内容。
然后使用ng-class
根据$index
值动态设置CSS。
<div class="basket" ng-repeat="apple in apples" ng-class="{ 'new-line' : $index % 4 === 0 }">
<span class="apple">{{apple.color}}</span>
</div>
答案 3 :(得分:-1)
如果您知道班级basket
的宽度,那么您可以将班级apple
的格式设置为总宽度的25%:
.basket {
width: 500px;
}
.apple {
width: 125px;
}