大佬教程收集整理的这篇文章主要介绍了twitter-bootstrap –ngng重复的angular.js条件标记,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<div class="row"> <div class="span4">...</div> <div class="span4">...</div> <div class="span4">...</div> </div> <div class="row"> etc...
现在,我可以用三角形关闭我的.row div吗?我试过ui – 如果从角度,但即使没有这样做.
如果我使用服务器端渲染,我会做这样的事情(这里的JSP语法,但并不重要):
<div class="row> <c:forEach items="${things}" var="thing" varStatus="i"> <div class="span4"> .. </div> <%-- Here is the trick:--%> <c:if test="${i.index % 3 == 2}"> </div><div class="row"> </c:if> </c:forEach> </div>
似乎不仅在1.2中有角度变化,而且还有一个更好的方法.我创建了两个过滤器.我试图把它们组合成一个但是有消化错误.以下是两个过滤器:
.filter("mySecondFilter",function(){ return function(input,row,numcolumns){ var returnArray = []; for(var x = row * numcolumns; x < row * numcolumns + numcolumns; x++){ if(x < input.length){ returnArray.push(input[x]); } else{ returnArray.push(""); //this is used for the empty cells } } return returnArray; } }) .filter("myFilter",numcolumns){ var filtered = []; for(var x = 0; x < input.length; x++){ if(x % numcolumns === 0){ filtered.push(filtered.length); } } return filtered; } });
现在html将如下所示:
<table border="1"> <tr data-ng-repeat="rows in (objects | myFilter:numcolumns)"> <td data-ng-repeat="column in (objects | mySecondFilter:rows:numcolumns)">{{ column.entry }}</td> </tr> </table>
jsfiddle:http://jsfiddle.net/W39Q2/
编辑2013年9月20日
HTML:
<table border="1"> <tr data-ng-repeat="object in (objects | myFilter:numcolumns.length)"> <td data-ng-repeat="column in numcolumns">{{ objects[$parent.$index * numcolumns.length + $index].entry }}</td> </tr> </table>
使用Javascript:
$scope.objects = [ ]; for(var x = 65; x < 91; x++){ $scope.objects.push({ entry: String.fromCharCode(X) }); } $scope.numcolumns = []; $scope.numcolumns.length = 3;
新过滤器
.filter("myFilter",columns){ var filtered = []; for(var x = 0; x < input.length; x+= columns){ filtered.push(input[x]); } return filtered; } });
这使它变得动态.要更改列,只需更改numcolumns.length.在js小提琴中,你可以看到我把它连接到一个下拉菜单.
jsfiddle:http://jsfiddle.net/j4MPK/
您的html@L_673_16@将如下所示:
<div data-ng-repeat="row in rows"> <div data-ng-repeat="col in row.col">{{Col}}</div> </div>
然后,您可以在控制器中创建一个变量:
$scope.rows = [ {Col: [ 1,2,3,4 ]},{Col: [ 5,6,7 ]},{Col: [ 9,10,11,12 ]} ];
这样,您可以拥有任意数量的列.
jsfiddle http://jsfiddle.net/rtCP3/39/
jsfiddle:http://jsfiddle.net/rtCP3/41/
html现在看起来像这样:
<div class="row" data-ng-repeat="row in rows"> <div class="col" data-ng-repeat="col in cols"> {{objects[$parent.$index * numcolumns + $index].entry}} </div> </div>
然后在控制器我有:
$scope.objects = [ {entry: 'a'},{entry: 'b'},{entry: 'c'},{entry: 'd'},{entry: 'e'},{entry: 'f'},{entry: 'g'},{entry: 'h'} ]; $scope.numcolumns = 3; $scope.rows = []; $scope.rows.length = Math.ceil($scope.objects.length / $scope.numcolumns); $scope.cols = []; $scope.cols.length = $scope.numcolumns;
$scope.numcolumns变量用于指定每行中所需的列数.
要处理动态数组大小更改,请注意数组的长度(不是整个数组,这将是冗余的)
$scope.numcolumns = 3; $scope.rows = []; $scope.cols = []; $scope.$watch("objects.length",function(){ $scope.rows.length = Math.ceil($scope.objects.length / $scope.numcolumns); $scope.cols.length = $scope.numcolumns; });
以上是大佬教程为你收集整理的twitter-bootstrap –ngng重复的angular.js条件标记全部内容,希望文章能够帮你解决twitter-bootstrap –ngng重复的angular.js条件标记所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。