【问题标题】:Change element order from controller angularJS从控制器angularJS更改元素顺序
【发布时间】:2017-11-22 04:18:35
【问题描述】:

您好,所以如果存在某些变量(其中的令牌),我想更改 2 个 div 顺序 - 从控制器中将它们反过来。

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

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

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

【问题讨论】:

  • ng-repeat 是一个很好的解决方案,从控制器操作 DOM 是一种不好的做法

标签: css angularjs


【解决方案1】:

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

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

第一格

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

第二格

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

ng-class 将这两个类添加到 div 中,只要我想要的某个变量存在。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多