Vue: Kotak centang menunjukkan dicentang ketika v-model salah

Dibuat pada 8 Apr 2016  ·  3Komentar  ·  Sumber: vuejs/vue

Saya memulai jalur ini karena @click diaktifkan sebelum v-model diperbarui (contoh di sini: http://jsfiddle.net/5sH6A/308/ )
jadi saya tidak tahu berapa nilainya. Saya pikir saya akan mencoba logika saya dalam fungsi arloji: tetapi menemukan masalah di bawah ini.

Versi Vue.js

1.0.16

Tautan Reproduksi

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

Langkah-langkah untuk mereproduksi

Klik kotak centang dan pilih batal

Apa yang Diharapkan?

Kotak centang harus kosong

Apa yang sebenarnya terjadi?

Kotak centang menunjukkan dicentang saat data terikat salah

Komentar yang paling membantu

Sangat terlambat ke pesta ini -- tapi masih menjadi masalah bagi saya setelah bertahun-tahun. Solusi saya:
Saat menggunakan input kotak centang dengan v-model, gunakan onchange @change handler. Akan bekerja untuk IE dan browser yang masuk akal.

Anehnya, jika Anda menggunakan kotak centang v-model dan @click , nilai atribut v-model Anda (misalnya, "flgChecked") akan dibalik di pengendali klik Chrome/Firefox. Artinya, itu akan menjadi salah ketika Anda baru saja mengklik kotak centang ke posisi aktif, benar ketika Anda mengkliknya ke posisi mati. Jadi -- terbalik. Tetapi IE sebenarnya melaporkan "dengan benar". Jadi . . . gunakan @perubahan.

Atau mungkin saya hanya melewatkan sesuatu.

Semua 3 komentar

Ini sepertinya tentang kompatibilitas.
Ini bekerja cukup baik dengan Edge 12 dan IE11 pada Windows 10, tetapi rusak dengan chrome 49.0.2623.110
Itu juga rusak dengan firefox 41 pada lompatan suse terbuka

Menetapkan nilai yang sama di dalam pengamat selalu merupakan ide yang buruk...

Saya akan mengatakan cara termudah untuk menangani ini adalah tidak menggunakan v-model . Anda tetap mencoba mengontrol nilainya sendiri: http://jsfiddle.net/yyx990803/5sH6A/310/

Sangat terlambat ke pesta ini -- tapi masih menjadi masalah bagi saya setelah bertahun-tahun. Solusi saya:
Saat menggunakan input kotak centang dengan v-model, gunakan onchange @change handler. Akan bekerja untuk IE dan browser yang masuk akal.

Anehnya, jika Anda menggunakan kotak centang v-model dan @click , nilai atribut v-model Anda (misalnya, "flgChecked") akan dibalik di pengendali klik Chrome/Firefox. Artinya, itu akan menjadi salah ketika Anda baru saja mengklik kotak centang ke posisi aktif, benar ketika Anda mengkliknya ke posisi mati. Jadi -- terbalik. Tetapi IE sebenarnya melaporkan "dengan benar". Jadi . . . gunakan @perubahan.

Atau mungkin saya hanya melewatkan sesuatu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat