Vue: Nilai kosong untuk properti menyebabkan kompilasi template gagal

Dibuat pada 18 Okt 2016  ·  3Komentar  ·  Sumber: vuejs/vue

Versi Vue.js

2.0.3

Tautan Reproduksi

https://jsfiddle.net/jt3hjuwg/

Langkah-langkah untuk mereproduksi

Ikat prop yang memiliki string kosong sebagai nilai. Jika Anda menyediakan objek JSON atau string null itu akan berhasil, tetapi jika Anda menggunakan string kosong, template akan gagal dikompilasi.

Saya tidak yakin apakah ini perilaku yang diharapkan di Vue 2 (dulu berfungsi di Vue 1). Namun, rasanya sedikit kontra-intuitif. Misalnya, jika saya menyediakan konten sebagai sisi server prop, saya perlu memeriksa apakah konten itu ada dan mengembalikan string literal null jika tidak.

Apa yang Diharapkan?

Aplikasi masih merender tetapi properti menjadi string kosong atau null.

Apa yang sebenarnya terjadi?

Peringatan ditampilkan di konsol dan aplikasi gagal dirender.

[Vue warn]: failed to compile template:

<review :review=""></review>

(found in root instance)

Komentar yang paling membantu

@fnlctrl
Bagaimana Anda melakukannya dengan alat peraga Number?

Semua 3 komentar

Hai, terima kasih telah mengisi masalah ini.

jika Anda menggunakan string kosong, templat akan gagal dikompilasi.

Anda tidak menyetel string kosong dengan <review :review=""></review> .
Cara yang benar adalah: <review :review="''"></review> . Ingat bahwa v-bind mengharapkan ekspresi javascript. https://jsfiddle.net/fnlCtrl/jt3hjuwg/1/

Misalnya, jika saya menyediakan konten sebagai sisi server prop, saya perlu memeriksa apakah ada dan mengembalikan string literal null sebaliknya.

Anda hanya perlu memberikan string kosong '' , itu saja.

Apakah tidak ada cara yang lebih baik bagi Vue untuk menangani ini? Atau mungkin memberikan penanganan kesalahan yang lebih baik daripada membuang setengah DOM di dalam konsol saat ini terjadi?

@fnlctrl
Bagaimana Anda melakukannya dengan alat peraga Number?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat