Ich verwende die AngularJS-Version 1.4.7
und habe einen einfachen AngularJS-Controller, der ein Array von Objekten enthält. Ich möchte diese Objekte als Optionen in Auswahl von ngOptions
anzeigen.
Das Problem ist, dass jedes Objekt doppelt ist und ich nicht weiß warum. Dieses Duplikat wird nur in der Auswahl angezeigt, das Quellobjekt sieht gut aus.
Ist das ein Fehler? Wie kann ich Duplikate entfernen, ohne einen Filter zu verwenden?
Hinweis: Dieses Problem ist nach dem Update von AngularJS von der Version 1.3.19
auf 1.4.7
aufgetreten. Ich lese das Changelog, aber es sagt nur über die Zugabe von track by
- ich habe es hinzugefügt, aber ohne Wirkung.
Es ist ein bekannter Fehler für 1.4.x vor 1.4.8. Sie können das Problem überprüfen.
Wenn Sie die Version angularjs 1.4.7 verwenden müssen, können Sie ng-show
anstelle von ng-if
Sie finden Changelog und Fehler von angularjs github
Sie müssen Ihr <option>
-Tag aus dem Feld <select>
entfernen. Da alles in ihm für jedes Element verwendet wird, wird das <option>
-Tag selbst durch die Direktive von angularJS generiert.
Wenn Sie dies in 1.4.8 oder höher erleben, kann der Grund dieser Fehler sein. Duplikate können erstellt werden, wenn $compile
verwendet wird. Es gibt einige Problemumgehungen auf der Fehlerseite.
Tags und Links javascript angularjs ng-options