Vue: Vue aktualisiert Daten je nach Browser vor oder nach dem Klickereignis

Erstellt am 22. Juni 2016  ·  3Kommentare  ·  Quelle: vuejs/vue

Vue.js-Version

v1.0.20

Reproduktionslink

http://jsfiddle.net/5sH6A/468/

Schritte zum Reproduzieren

Chrome/Firefox verhalten sich in eine Richtung, während sich IE 11/Edge anders verhält.

Chrome/Firefox - Wenn Sie auf das Kontrollkästchen klicken, um es von false in true zu ändern, aktualisiert vue den row.selected-Wert VOR dem Klickereignis NICHT auf true.

IE 11/Edge - Wenn Sie auf das Kontrollkästchen klicken, um es von false in true zu ändern, aktualisiert vue den row.selected-Wert VOR dem Click-Ereignis auf true.

Dasselbe geht von wahren zu falschen Zuständen

Hilfreichster Kommentar

Wir haben dieses Problem gelöst, indem wir unsere Logik des Change-Handlers in Vue.nextTick verpackt haben. Dann greifen Sie immer auf die aktualisierten Werte zu.
Eine andere Lösung könnte ein Wächter auf dem Grundstück sein.

Alle 3 Kommentare

Verschiedene Browser lösen change und click Ereignisse in unterschiedlicher Reihenfolge aus. Dies kann Vue weder ändern noch ist Vue dafür verantwortlich, dieses Verhalten zu normalisieren. Sie sollten sich statt click Ereignis change anhören.

Wir haben dieses Problem gelöst, indem wir unsere Logik des Change-Handlers in Vue.nextTick verpackt haben. Dann greifen Sie immer auf die aktualisierten Werte zu.
Eine andere Lösung könnte ein Wächter auf dem Grundstück sein.

Akzeptierte Antwort sollte die von Evan sein. Das funktioniert in jedem Fall.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen