【发布时间】:2014-05-18 17:44:40
【问题描述】:
在我的应用程序中,我想为每个 div 类添加动态数字,以创建动态 twitter 引导网格类。例如 col-md-2 或 col-md-3。然后从这些 div 重复:
<div class="row" ng-repeat="row in placeholders">
<div class="col-md-12">
<div ng-repeat="column in row.columns" class="col-md-{{12 / row.columns.length}} biki"></div>
</div>
</div>
这是模型:
$scope.placeholders = [{
name: "Row 1",
showName: true,
columns: [{
name: "Col1 in Row 1",
}, {
name: "Col2 in Row 1"
}]
}, {
name: "Row 2",
showName: true,
columns: [{
name: "Col 1 in Row 2",
}, {
name: "Col 2 in Row 2"
},
{
name: "Col 3 in Row 2"
}]
}]
因此,如果对象中的列数组的长度为 6,则它除以 12 并使用 col-md-2 类创建 6 个 div。当数组的长度为 5 或 8 时会出现问题。如果 5 数字除以 12 是 2.4 并且 twitter bootstrap 没有任何值 2.4 所以我想parseInt 或用其他方式解决问题,但我不知道该怎么做。
【问题讨论】:
-
使用
Math.ceil()进行四舍五入。 See MDN docs -
我不能在角度表达式中使用 Math.ceil() 或 ParseInt() 它不起作用
-
可以简单地在表达式
class="{{getClass(row)}}"中使用作用域函数 -
这可以使用过滤器来解决。演示:jsbin.com/bahoze/4/edit
标签: javascript angularjs twitter-bootstrap-3