Ich habe eine Seite, auf der ein Lehrer eine Klasse (von Schülern) auswählen kann. Dann kann der Lehrer Gruppen von Schülern aus dieser Klasse erstellen, indem er Avatare der Schüler zieht.Dynamisch ändern Bildwiederholung mit Firebase
Ich habe eine Dropdown-Liste von Klassen und eine div
mit Avataren der Schüler gefüllt.
Der HTML:
<select name="chosenClass" onchange="chooseClass(this.value)">
<option ng-repeat="(key, value) in techerClasses">{{key}}</option>
</select>
...
<div id="div0" ondrop="drop(event)" ondragover="allowDrop(event)" class="groupDiv">
<img ng-repeat="(key, value) in classStudents" id={{key}} src="http://placehold.it/30x30/{{value}}" draggable="true" ondragstart="drag(event)">
</div>
Der Controller-Code:
chooseClass = function (classInfo) {
if (classInfo > 0){
$rootScope.classesRef.child(classInfo).on('value', function (dataSnapshot){
$rootScope.classStudents = dataSnapshot.val().members;
});
}
}
Wenn ich Daten manuell hinzufügen zu der
$rootScope.classStudents
vor der Seite lädt die Avatare richtig dargestellt wird.console.log($rootScope.classStudents)
nach$rootScope.classStudents = dataSnapshot.val().members;
bestätigt , dass die richtigen Daten besteht.Aber die Avatare werden nicht angezeigt.
Wenn ich im Browser auf "Zurück" und dann auf "Weiter" klicke, werden die Avatare angezeigt. Dies führt mich zu der Annahme, dass ich etwas brauche, die
<img ng-repeat...
zu aktualisieren?
Verwendung 'ng-src‘ anstelle von src in img Registerkarte "verdauen save" – nmanikiran