Im Wesentlichen möchte ich, dass Benutzer ein Element ziehen oder ablegen können oder auf die Pfeile nach oben / unten klicken, um ein Element in der Liste zu verschieben.
Gibt es eine gute Möglichkeit, die Indizes der Objekte zu aktualisieren, die gut mit ui-sortable / angular-ui abgespielt werden?
Danke.
Wir konnten dies lösen, indem wir eine Funktion in unserem Controller hinzufügten, die das Element aus dem Array löste und es in einem Index größer oder kleiner als seine ursprüngliche Position hinzufügte. Hier ist ein schlampiges Beispiel:
%Vor%Sie müssten eine Überprüfung hinzufügen, ob es das erste oder letzte Element im Array war, das entsprechend nach oben oder unten deaktiviert wurde.
Wir konnten dies lösen, indem wir eine Funktion in unserem Controller hinzufügten, die das Element aus dem Array löste und es in einem Index größer oder kleiner als seine ursprüngliche Position hinzufügte. Hier ist ein schlampiges Beispiel:
%Vor%Sie müssten eine Überprüfung hinzufügen, ob es das erste oder letzte Element im Array war, das entsprechend nach oben oder unten deaktiviert wurde.
Im Wesentlichen möchte ich, dass Benutzer ein Element ziehen oder ablegen können oder auf die Pfeile nach oben / unten klicken, um ein Element in der Liste zu verschieben.
Gibt es eine gute Möglichkeit, die Indizes der Objekte zu aktualisieren, die gut mit ui-sortable / angular-ui abgespielt werden?
Danke.
Wir konnten dies lösen, indem wir eine Funktion in unserem Controller hinzufügten, die das Element aus dem Array löste und es in einem Index größer oder kleiner als seine ursprüngliche Position hinzufügte. Hier ist ein schlampiges Beispiel:
%Vor%Sie müssten eine Überprüfung hinzufügen, ob es das erste oder letzte Element im Array war, das entsprechend nach oben oder unten deaktiviert wurde.
Wie bei allem AngularJS lautet die Antwort " denke in Angular, nicht jQuery ".
Dieser CodePen macht einen guten Job und zeigt, wie es gemacht wird. Im Grunde haben Sie ein temporäres Objekt für das Ziehen, das Sie dann in das gebundene Array des ng-repeats schieben. Ich kann mir das nicht vorstellen (nicht meine Kreation), aber Google hat mich ziemlich schnell dazu geführt. Der CodePen verwendet keine externen Abhängigkeiten, aber wie Sie sehen können, bedeutet das etwas mehr Arbeit als die Verwendung von Angular-UI .
Hier ist ein JSFiddle , das dasselbe Konzept zeigt, aber mit Angular-UI-Abhängigkeit. Der Vorteil der Verwendung von angular-u ist, dass Ihr gebundenes Datenarray nur als solches aufgerufen werden muss:
%Vor%Dies bedeutet weniger Arbeit von Ihrer Seite, da es bereits herausgefunden wurde. AngularJS kann sehr gut mit jQuery spielen, daher sollte dies, abhängig von Ihrem Anwendungsfall, nicht zu einer großen Verschiebung des Entwicklungsansatzes von jQuery UI führen.
Wir konnten dies lösen, indem wir eine Funktion in unserem Controller hinzufügten, die das Element aus dem Array löste und es in einem Index größer oder kleiner als seine ursprüngliche Position hinzufügte. Hier ist ein schlampiges Beispiel:
%Vor%Sie müssten eine Überprüfung hinzufügen, ob es das erste oder letzte Element im Array war, das entsprechend nach oben oder unten deaktiviert wurde.
Tags und Links angularjs angular-ui jquery-ui-sortable