首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在角的ng重复中改变元素顺序

在角的ng重复中改变元素顺序
EN

Stack Overflow用户
提问于 2016-01-13 21:56:35
回答 2查看 813关注 0票数 0

在执行ng-repeat时可以根据某些条件更改元素顺序吗?

假设我们有这样一个代码:

代码语言:javascript
复制
<div ng-repeat="i in [1,2,3,4,5,6,7]">
   <div class="element-1">Element 1: {{i}}</div>
   <div class="element-2">Element 2: {{i}}</div>
</div>

现在我想要element-* divs的更改顺序,当i是偶数的时候。有可能吗?

输出:

代码语言:javascript
复制
<div>
   <div class="element-1">Element 1: 1</div>
   <div class="element-2">Element 2: 1</div>
</div>

<div>
   <div class="element-2">Element 2: 2</div>
   <div class="element-1">Element 1: 2</div>
</div>

<div>
   <div class="element-1">Element 1: 3</div>
   <div class="element-2">Element 2: 3</div>
</div>

<div>
   <div class="element-2">Element 2: 4</div>
   <div class="element-1">Element 1: 4</div>
</div>

..。等。

编辑

我想避免为element-1添加float: right的解决方案。

我还想避免重复HTML代码(创建第二个块)。这是我问题的一个简单例子。我的项目要复杂得多(大量代码)。

EN

回答 2

Stack Overflow用户

发布于 2016-01-13 22:00:29

ng-hideng-if中使用两个单独的容器来实现您想要的结果:

代码语言:javascript
复制
<div ng-repeat="i in [1,2,3,4,5,6,7]">
   <div ng-if="i % 2 == 0">
       <div class="element-1">Element 1: {{i}}</div>
       <div class="element-2">Element 2: {{i}}</div>
   </div>
   <div ng-if="i % 2 != 0">
       <div class="element-2">Element 2: {{i}}</div>
       <div class="element-1">Element 1: {{i}}</div>
   </div>
</div>
票数 0
EN

Stack Overflow用户

发布于 2016-01-13 22:01:03

您应该使用ng-如果超过ng-显示/ng-隐藏,因为它使您的DOM更小和更干净。您必须小心ng-如果可能的范围问题。

代码语言:javascript
复制
<div ng-repeat="i in [1,2,3,4,5,6,7]">

   <div class="element-1" ng-if="$index % 2 === 0">Element 1: {{i}}</div>
   <div class="element-2" ng-if="$index % 2 === 0">Element 2: {{i}}</div>

   <div class="element-2" ng-if="$index % 2 === 1">Element 2: {{i}}</div>
   <div class="element-1" ng-if="$index % 2 === 1">Element 1: {{i}}</div>

</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34777841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档