2017-10-30 2 views
1

Hallo also, wenn einige Variable existiert (Token innerhalb) Ich möchte 2 divs ändern, um - sie andere Art und Weise drehen sich um, von der Steuerung.Element ändern, um von der Steuerung AngularJS

fand ich way dies mit ng-repeat Richtlinie zu tun, aber ich will nicht wirklich ng-repeat in diesem Fall verwenden, weil ich schon viele ng-repeat s in diesen beiden divs haben, und ich denke, dass es einige Probleme verursachen kann, vielleicht sogar mehr Lade .

Gibt es eine andere Möglichkeit, divs Reihenfolge von Controller zu ändern? Vielleicht kann ich einfach einige Klassen zu Elementen hinzufügen, wenn eine Variable existiert oder nicht, wenn ich mich gut erinnere, kann ich die Reihenfolge der Elemente mit flexbox help ändern.

Könnten Sie Jungs zeigen mir Weg, wie diese Aufgabe zu erfüllen? Ich wäre dankbar, wenn Sie eine kleine Demo zur Verfügung stellen.

+1

'ng-repeat' ist eine gute Lösung, es ist eine schlechte Übung, das DOM von einem Controller zu manipulieren –

Antwort

0

Niemand beantwortete meine Frage, für die ich bereits eine Lösung gefunden habe. Jemand im Kommentarabschnitt sagte, dass ich ng-repeat verwenden sollte, weil es eine gute Lösung ist, aber ich konnte nicht wirklich herausfinden, wie man es benutzt und den Ton des HTML-Inhalts innerhalb dieser 2 divs behalte. Ich möchte nicht alles vom Controller binden, oder?

Also, was ich tat, anstatt ist wickeln Sie dieses Bild 2 divs in einem anderen div mit display: flex und verwendet dann ng-class Richtlinie zu diesem 2 divs innerhalb neuen Container dynamisch Klassen mit dieser Regeln hinzufügen:

1. div

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

2. div

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

Die ng-class fügen diese zwei Klassen zu divs hinzu, wenn eine Variable existiert, wie ich es wollte.

Ich schrieb diesen Beitrag, wenn jemand jemals über das gleiche Problem stieß und diese Frage auf SO finden.

Verwandte Themen