Você pode forçar o Vue.js a recarregar/render?

Só uma pergunta rápida.

Você pode forçar o Vue.js a recarregar/recalcular tudo? Se sim, como?

Solução

Tenta este feitiço mágico:

vm.$forceUpdate();

Não há necessidade de criar vars pendurados :)

Actualização: Encontrei esta solução quando só comecei a trabalhar com o VueJS. No entanto, uma maior exploração provou esta abordagem como uma muleta. Tanto quanto me lembro, em pouco tempo eu me livrei dela simplesmente colocando todas as propriedades que não conseguiram refrescar automaticamente (a maioria delas aninhadas) em propriedades computadas.

Mais informações aqui: https://vuejs.org/v2/guide/computed.html

Comentários (5)

Utilize vm.$set('varName', valor). Procure por detalhes em Change_Detection_Caveats.

Comentários (0)

Eu encontrei uma maneira. It'é um bocadinho estranho, mas funciona.

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

Onde vm é o seu objeto-modelo de visão, e x é uma variável inexistente.

O Vue.js irá reclamar sobre isso no registro do console, mas isso aciona uma atualização para todos os dados. Testado com a versão 1.0.26.

Comentários (0)