Vue: Vue atualizando os dados antes ou depois do evento de clique, dependendo do navegador

Criado em 22 jun. 2016  ·  3Comentários  ·  Fonte: vuejs/vue

Versão Vue.js

v1.0.20

Link de reprodução

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

Passos para reproduzir

O Chrome / Firefox se comporta de uma maneira, enquanto o IE 11 / Edge se comporta de uma maneira diferente.

Chrome / Firefox - Se você clicar na caixa de seleção alterando-a de um estado falso para verdadeiro, o vue NÃO atualiza o valor de row.selected para verdadeiro ANTES do evento de clique.

IE 11 / Edge - Se você clicar na caixa de seleção alterando-o de um estado falso para verdadeiro, o vue FAZ atualizar o valor de row.selected para verdadeiro ANTES do evento de clique.

mesma coisa indo de estados verdadeiros para falsos

Comentários muito úteis

Resolvemos esse problema envolvendo nossa lógica do manipulador de alterações em Vue.nextTick . Então você sempre acessa os valores atualizados.
Outra solução poderia ser um vigilante na propriedade.

Todos 3 comentários

Navegadores diferentes acionam eventos change e click em ordens diferentes, isso não é algo que a Vue pode alterar e nem é responsável por normalizar este comportamento. Você deve ouvir o evento change vez de click .

Resolvemos esse problema envolvendo nossa lógica do manipulador de alterações em Vue.nextTick . Então você sempre acessa os valores atualizados.
Outra solução poderia ser um vigilante na propriedade.

A resposta aceita deve ser a de Evan. Isso funciona em todos os casos.

Esta página foi útil?
0 / 5 - 0 avaliações