Wenn ich ein Array mit neuen Elementen umschalte, wird die beforeUpdate-Methode zweimal ausgelöst. Dies ist nicht der Fall, wenn ich die neuen Gegenstände schiebe. Hat jemand eine Idee, warum es das macht? Es bringt meine App durcheinander ...vuejs2 beforeUpdate lifecycle hook triggert zweimal
Antwort
Nach etwas mehr Versuch und Irrtum fand ich die Lösung. Ich glaube, ich kann auch erklären, warum die VorAktualisierung Methode zweimal ausgelöst:
- Erster Auslöser war für das Hinzufügen der neuen Elemente in das Array
- zweiter Auslöser für reshifting den Array-Schlüssel war, weil die Elemente am Anfang hinzugefügt werden das Array
Das gleiche Problem trat bei Verschiebung auf. Da Sie das erste Element im Array entfernen, geschieht auch hier die Umlagerung.
Dies könnte auch erklären, warum es dies nicht auf einem Push tut, weil neue Schlüssel hinzugefügt werden, nicht verschoben.
Und jetzt die Lösung: Wenn Sie eine v-for tun, binden das ‚Schlüssel‘ Attribut mit einem eindeutigen Wert wie folgt:
<div v-for="item in items" :key="item.id"></div>
Was die Dokumentation sagt dazu: Vue einen Hinweis so zu geben, dass es die Identität jedes Knotens verfolgen und somit vorhandene Elemente wiederverwenden und neu anordnen kann.
Was ich daraus schließe, ist, dass das v-for nicht mehr nach den Array-Schlüsseln sucht, sondern nach dem eindeutigen Schlüssel, den Sie pro Element angegeben haben.
- 1. SDL_KEYDOWN triggert zweimal
- 2. Android benutzerdefinierte Klasse - Hook in Activity Lifecycle
- 3. Lint Fehler: Implementieren Lifecycle Hook-Schnittstellen
- 4. Gibt es einen aktualisierten Lifecycle-Hook für Angular2?
- 5. Lifecycle-Hook für nach dem ngModel geladen wird
- 6. Gibt es einen Lifecycle-Hook wie window.onbeforeunload in Angular2?
- 7. Angular 2 Dynamisches Laden von Komponenten ngOnChanges lifecycle hook call
- 8. toggleClass triggert zweimal beim Ändern der Größe des Browserfensters
- 9. Android - Notepad tutorial - lifecycle - einige Arbeit erledigt zweimal?
- 10. stateChangeStart triggert mehrmals
- 11. VueJS2 Eigenschaft nicht
- 12. ASP.NET HttpApplication lifecycle
- 13. Warum ist mein Specflow [AfterTestRun] Hook aufgerufen zweimal
- 14. Angular2 @Input und Lifecycle-Haken
- 15. git pre-commit hook: triggert nur auf tatsächlichen zu committed code?
- 16. Quasar x Ag-grid Vuejs2
- 17. VueJS2 v-html mit Filter
- 18. Verwenden Select2 Verschiedene - mit vueJS2
- 19. Vuejs2 - berechnete Eigenschaft in Komponenten
- 20. Android Lifecycle
- 21. Backbone navigation triggert zwei Mal in Firefox
- 22. Aurelia ValidationRules triggert nicht
- 23. RewriteLog triggert internen Serverfehler
- 24. BasicAuthenticationAttribute triggert app.UseCookieAuthentication
- 25. FireBase onChildAdded() triggert onChildRemoved()
- 26. Angular2 Lifecycle Hook Arbeiten an lokalen Daten, aber nicht API-Daten
- 27. Angular 2 - Testen einer Komponente mit @input in ngOnInit lifecycle hook
- 28. Understanding Android Application Lifecycle
- 29. Lifecycle-KomponenteWillReceiveProps wird mehrmals aufgerufen
- 30. JavaScript - clearWatch() triggert nicht auf setTimeout()
Irgendein Code oder eine Geige bitte! – Deepak