2017-10-30 13 views
1

こんにちは、変数が存在する場合(トークン内)、2つのdivsの順序を変更したい - コントローラから別の方向に回します。コントローラからの要素の順番を変更する012JA

私はng-repeatディレクティブでこれを行うためにwayを見つけましたが、私は本当に私はすでにこの2つのdivに多くのng-repeat秒を持っていると私はそれはいくつかの問題を引き起こすかもしれないと思うので、この場合にはng-repeatを使用したくない、多分長いロード。

コントローラからdivs命令を変更する他の方法はありますか?おそらく変数が存在するかどうかにかかわらず、要素にいくつかのクラスを追加することができます。私がうまく覚えていれば、flexboxのヘルプで要素の順序を変更できます。

あなたは私にこのタスクを達成する方法を教えてもらえますか?少しデモを提供するなら、私は に感謝します。

+1

'ng-repeat'は良い解決策ですが、コントローラからDOMを操作するのは悪い習慣です –

答えて

0

私はすでに解決策を見つけた私の質問に誰も答えませんでした。コメント欄の誰かが、私はng-repeatを使うべきだと言いました。それは良い解決策でしたが、私はそれをどのように使い、2つのdivの中にhtmlコンテンツの音色を維持するのか本当に分かりませんでした。私はコントローラからすべてのものをバインドしたくないのですか?

それでは、私が代わりにやったことはdisplay: flexで別のdiv内でこの2つのdivをラップして、動的にこのルールでクラスを追加するために、新しいコンテナ内のこの2つのdiv要素にng-classディレクティブを使用している:

第一のdiv

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

第二のdiv

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

ng-classは、私が望むようないくつかの変数が存在するときはいつも、この2つのクラスをdivに追加します。

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

誰かが同じ問題に遭遇した場合、私はこの投稿を書いています。

関連する問題