从控制器angularJS更改元素顺序

时间:2017-10-30 11:46:43

标签: css angularjs

你好,如果存在一些变量(令牌内),我想改变2个div的顺序 - 从控制器转向另一个方向。

我发现way使用ng-repeat指令执行此操作但我不想在这种情况下使用ng-repeat,因为我已经有很多ng-repeat个两个div,我认为它可能会导致一些问题,甚至更长的负载。

还有其他方法可以从控制器更改divs顺序吗?也许我可以在变量存在或不存在的情况下向元素添加一些类,如果我记得很好,我可以使用flexbox帮助更改元素顺序。

你们能告诉我如何完成这项任务吗?我会很感激 如果你提供一些小演示。

1 个答案:

答案 0 :(得分:1)

没有人回答我已经找到解决方案的问题。有人在评论部分说我应该使用ng-repeat,因为它是一个很好的解决方案,但我无法弄清楚如何使用它并在这两个div中保持html内容的基调。我不想把所有这些都从控制器绑定,是吗?

所以我所做的是将这2个div包含在另一个div中display: flex,然后在新容器内的这2个div上使用ng-class指令来动态添加具有此规则的类:

第一个div

.flex-container--child_1 {
    order:2;
}

第二个div

.flex-container--child_2 {
    order:1;
 }

只要我想要一些变量,ng-class就会将这两个类添加到div中。

<div ng-class="{'flex-container--child_1': authentication.isAuth}">...</div>

如果有人遇到同样的问题并在SO上找到这个问题,我写了这篇文章。