Kun je Vue.js dwingen te herladen/re-render?

Gewoon een snelle vraag.

Kun je Vue.js dwingen alles opnieuw te laden/herberekenen? Zo ja, hoe?

Oplossing

Probeer deze magische spreuk:

vm.$forceUpdate();

Je hoeft geen hangende vars aan te maken :)

Update: Ik vond deze oplossing toen ik pas begon te werken met VueJS. Echter verder onderzoek bewees dat deze aanpak een kruk was. Voor zover ik me kan herinneren, ben ik er na een tijdje vanaf gekomen door alle properties die niet automatisch ververst werden (meestal geneste) in computed properties te zetten.

Meer info hier: https://vuejs.org/v2/guide/computed.html

Commentaren (5)

Gebruik vm.$set('varName', value). Kijk voor details in Change_Detection_Caveats.

Commentaren (0)

Ik heb een manier gevonden. Het is een beetje vreemd, maar het werkt.

vm.$set("x",0);
vm.$delete("x");

Waar vm je view-model object is, en x een niet-bestaande variabele.

Vue.js zal hierover klagen in de console log, maar het activeert wel een refresh voor alle data. Getest met versie 1.0.26.

Commentaren (0)