Ja, es wurde schon einmal gefragt, und ich habe alle Antworten gelesen, aber nichts scheint zu funktionieren. Also frage ich nach einem zusätzlichen Paar Augen, um zu sehen, ob du irgendeine Singularität in meinem Code finden kannst, die es nicht so funktionieren lässt, wie es sollte. (Ich habe diesen Code und die Logik woanders ausprobiert und es scheint gut zu funktionieren). Keine Fehler in der Konsole übrigens
Ich versuche einfach, ein Objekt aus der Ansicht zu entfernen, wenn jemand auf das x auf dem Bild klickt.
Hier ist der Controller
%Vor%und meine Sicht
%Vor%Angular 1.5.8
Danke
Sie können ein $index
in Ihrer Klick-Funktion wie folgt übergeben.
und verwenden Sie $scope.galleries.splice(index, 1);
innerhalb Ihrer Klickfunktion removeGalleryItem
, stellen Sie sicher, dass Sie den Indexparameter auch so haben.
Hoffe das hilft ..
Nach einigen Nachforschungen ist das Problem, dass galleryController irgendwo in Ihrem Markup definiert ist, aber die Elemente in der Galerie nicht innerhalb des Bereichs liegen, in dem dieser Controller definiert ist.
Dies bezieht sich auf Ссылка . In der Datei slidesController.js, wo galleryController definiert ist, mache ich hier eine Pause und der Code pausiert:
Ich habe hier auch einen Haltepunkt gesetzt, aber der Code hält nicht an, wenn ich auf eine Löschtaste klicke:
Wenn ich mir das Markup anschaue, kann ich kein Zeichen von ng-controller="galleryController"
sehen, so dass ich nicht sehen kann, wie Galerien in ng-repeat
aufgefüllt ist:
Vielleicht ist es dadurch:
Wenn es soweit ist, dann würde es Dinge erklären, da diese Richtlinie ihren eigenen Controller hat. Jede weitere Information würde helfen und ich bin mir sicher, dass wir das klären können.
Wenn ich Ihre Frage richtig verstanden habe, wenn Sie ein bestimmtes Element sowohl aus DOM als auch aus Array löschen wollen, das diese speziellen Elemente enthält, können Sie Folgendes tun:
%Vor%Angenommen, Sie wiederholen einige galleryItems und sie haben eine name -Eigenschaft.
Und auf Ihrem Controller:
%Vor%Ich hoffe, ich war hilfreich.
Ich habe einige Änderungen vorgenommen, um dieses Problem zu beheben, und Sie können es unter dieser Link.
Das Problem hier war, dass es einen Tippfehler im HTML-Snippet gab, der removeGalleryItem(galleryItem, $event)
aufruft. Der Parametername sollte gallery
, nicht galleryItem
lauten, da es kein solches Objekt mit dem Namen galleryItem
gibt. Daher war der Parameterwert innerhalb dieser Methode undefined
. Sobald ich es behoben habe, konnte ich das Galerie-Objekt innerhalb der removeGalleryItem
Methode erhalten und der folgende Code funktionierte absolut gut:
Beachten Sie auch, dass ich das $ event-Attribut aus der Methodendeklaration und aus dem html-Methodenaufruf entfernt habe, da wir es bei dem oben genannten Ansatz nicht benötigten.
%Vor%Tags und Links angularjs