Ich versuche zufällig eine Liste zu generieren, in der jedes Element anklickbar ist.Verwenden von ng-repeat mit zufälligen
<ul class="list-group">
<li class="list-group-item" ng-repeat="user in users | orderBy: random" ng-class="user.value && user.color" ng-click="changeValue(user)"> {{user.name}}</li>
</ul>
Also, auf Klick möchte ich es den Wert des Elements und auch die Farbe ändern.
Ich kann schon zufällig die Liste mit der folgenden Funktion generieren:
$scope.random = function() {
return 0.5 - Math.random();
};
Das Problem, das ich mit Blick auf bin, ist, dass, wenn ich ein Listenelement klicken, wird sie zufällig neu ordnen. Ich möchte, dass sie am Anfang zufällig angezeigt werden und dann in der gleichen Reihenfolge bleiben, nachdem ich sie angeklickt habe. Wie kann ich die Neuanordnung vermeiden?
Hier ist ein Plunker mit einem praktischen Beispiel:
Danke.
Wenn der Benutzer auf die Liste klickt, es nicht randomisiert sollte . Er möchte einen zufälligen Namen nur einmal, aber nicht, wenn der Benutzer auf die Liste klickt. – jParmar
Der Wert wird zum Auslösen der Farbe verwendet. Wenn der Benutzer darauf klickt, wird er wahr und die Klasse wird aktiv. Wenn der Benutzer erneut klickt, wird der Wert falsch und die Klasse wird inaktiv. Von dem Plünderer, den Sie gerade gesendet haben, wird die Bestellung bei jedem Klick neu geordnet. Genau das versuche ich zu vermeiden. Vielen Dank für die Beantwortung :) –
meine schlechte Ich habe die Frage nicht verstanden sorry, ich redigierte die Antwort und reparierte es. – pegla