Javascript ul-in-ng-repeat上的条件包装器
我有一个Javascript ul-in-ng-repeat上的条件包装器,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我有一个ng repeat,里面有ul列表,我想每8个元素创建一个ul,但我找不到方法。 我必须使用$index%8==0有条件地显示ul,但我不知道如何显示。 这是我目前的代码: <div ng-repeat-start="v in values" ng-show="false"/> <ul> <li ng-class="{'active': filterContent.isSelectedValue(key, v) }" ng-click="fil
ng repeat
,里面有ul
列表,我想每8个元素创建一个ul
,但我找不到方法。
我必须使用$index%8==0
有条件地显示ul
,但我不知道如何显示。
这是我目前的代码:
<div ng-repeat-start="v in values" ng-show="false"/>
<ul>
<li ng-class="{'active': filterContent.isSelectedValue(key, v) }" ng-click="filterContent.addFilter(key, v)">
<a class="issue-btn btn-default">{{v}}</a>
</li>
</ul>
<div ng-repeat-end ng-show="false"/>
-
{{v}
输出结果如下所示:
<ul>
<li>... content... </li>
<li>.... content... </li>
<!-- 8 times -->
</ul>
<ul>
<li>.... more content ... </li>
<li>.... more content ... </li>
<!-- 8 times -->
</ul>
<!-- and so on until repeat ends -->
<ul ng-repeat="v in values" ng-if=":: $index % 8 === 0">
<li ng-repeat="v in values.slice($index, $index + 8)" ng-class="{active: filterContent.isSelectedValue(key, v)}" ng-click="filterContent.addFilter(key, v)">
<a class="issue-btn btn-default">{{v}}</a>
</li>
</ul>
- 。。。内容李>
- 。。。。内容李>
- 。。。。更多内容李>
- 。。。。更多内容李>
如下所示:
如果在li上使用ng,您可以轻松做到这一点:
<div ng-repeat-start="v in values" ng-show="false"/>
<ul>
<li ng-class="{'active': filterContent.isSelectedValue(key, v) }" ng-click="filterContent.addFilter(key, v)" ng-if="$index % 8 == 0">
<a class="issue-btn btn-default">{{v}}</a>
</li>
</ul>
<div ng-repeat-end ng-show="false"/>
-
{{v}
您可以使用两个嵌套的ngRepeat来完成。大概是这样的:
<ul>
<li>... content... </li>
<li>.... content... </li>
<!-- 8 times -->
</ul>
<ul>
<li>.... more content ... </li>
<li>.... more content ... </li>
<!-- 8 times -->
</ul>
<!-- and so on until repeat ends -->
<ul ng-repeat="v in values" ng-if=":: $index % 8 === 0">
<li ng-repeat="v in values.slice($index, $index + 8)" ng-class="{active: filterContent.isSelectedValue(key, v)}" ng-click="filterContent.addFilter(key, v)">
<a class="issue-btn btn-default">{{v}}</a>
</li>
</ul>
-
{{v}
但是使用此解决方案,当显示ul
时,您的问题中只有一个li
您想添加ul,是不是输入错误,并且您想每8个元素创建一个li?(我编辑了我的答案,在li上添加了ng if)为什么:
在ng if
上?(使用该功能时,对我的不起作用,但如果我删除这些,那么它就可以工作)这对性能有好处。我假设您使用的是角度<1.4.x?然后是的,只需删除:
。