Vue: La casilla de verificación se muestra marcada cuando el modelo v es falso

Creado en 8 abr. 2016  ·  3Comentarios  ·  Fuente: vuejs/vue

Empecé por este camino porque @click disparó antes de que se actualice el modelo v (ejemplo aquí: http://jsfiddle.net/5sH6A/308/ )
así que no sabía cuál era el valor. Pensé en probar mi lógica en un reloj: función pero encontré el problema a continuación.

Versión Vue.js

1.0.16

Enlace de reproducción

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

pasos para reproducir

Haga clic en la casilla de verificación y elija cancelar

¿Lo que es esperado?

La casilla de verificación debe estar vacía

¿Qué está pasando realmente?

La casilla de verificación se muestra marcada mientras los datos vinculados son falsos

Comentario más útil

Muy tarde para esta fiesta, pero sigue siendo un tema vivo para mí después de todos estos años. Mi solución:
Cuando use una entrada de casilla de verificación con v-model, use el controlador onchange @change . Funcionará tanto para IE como para navegadores razonables.

Extrañamente, si usa una casilla de verificación de modelo v y @click , el valor de su atributo de modelo v (por ejemplo, "flgChecked") se invertirá en el controlador de clic de Chrome/Firefox. Es decir, será falso cuando haya hecho clic en la casilla de verificación en la posición de encendido, será verdadero cuando haya hecho clic en la posición de apagado. Entonces, al revés. Pero IE en realidad informa "correctamente". Entonces . . . usa @cambiar.

O tal vez me estoy perdiendo algo.

Todos 3 comentarios

Esto parece ser acerca de la compatibilidad.
Funciona bastante bien con Edge 12 e IE11 en Windows 10, pero falla con Chrome 49.0.2623.110
También se rompe con firefox 41 en open suse jump

Establecer el mismo valor dentro de un observador siempre es una mala idea...

Diría que la forma más fácil de lidiar con esto es simplemente no usar v-model . De todos modos, está tratando de controlar el valor usted mismo: http://jsfiddle.net/yyx990803/5sH6A/310/

Muy tarde para esta fiesta, pero sigue siendo un tema vivo para mí después de todos estos años. Mi solución:
Cuando use una entrada de casilla de verificación con v-model, use el controlador onchange @change . Funcionará tanto para IE como para navegadores razonables.

Extrañamente, si usa una casilla de verificación de modelo v y @click , el valor de su atributo de modelo v (por ejemplo, "flgChecked") se invertirá en el controlador de clic de Chrome/Firefox. Es decir, será falso cuando haya hecho clic en la casilla de verificación en la posición de encendido, será verdadero cuando haya hecho clic en la posición de apagado. Entonces, al revés. Pero IE en realidad informa "correctamente". Entonces . . . usa @cambiar.

O tal vez me estoy perdiendo algo.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

paulpflug picture paulpflug  ·  3Comentarios

julianxhokaxhiu picture julianxhokaxhiu  ·  3Comentarios

robertleeplummerjr picture robertleeplummerjr  ·  3Comentarios

hiendv picture hiendv  ·  3Comentarios

franciscolourenco picture franciscolourenco  ·  3Comentarios