Dalam aplikasi Vue, anda mungkin menghadapi situasi di mana data diperoleh tetapi tidak boleh dipaparkan pada halaman. Di bawah ini kami akan menganalisis kemungkinan masalah dan menyediakan penyelesaian dari aspek berikut.
Pengikatan data Vue ialah salah satu ciri teras Vue dan salah satu kunci untuk menjadikan aplikasi Vue unik. Dalam Vue, anda hanya perlu mengikat data pada paparan dan paparan boleh dikemas kini dalam masa nyata. Biasanya, kami mengikat data dan pandangan melalui pengikatan data dua hala dan arahan tersuai. Jika pengikatan data tidak berjaya, halaman tidak akan dapat memaparkan data.
Penyelesaian:
Dalam aplikasi Vue, masa pemerolehan data adalah sangat kritikal dan data mesti dimuatkan sebelum tika Vue dimuatkan. Jika tidak, akan ada masalah bahawa halaman tidak akan dipaparkan selepas mendapatkan data.
Penyelesaian:
Kod sampel:
// 假设已经通过axios或其他方式获取到了数据 const data = { // 数据内容 }; // 在Vue实例创建之前,将数据赋值给window对象上的全局变量 window.data = data; // 在Vue实例中,读取全局变量中的数据 new Vue({ el: '#app', data: { data: window.data } });
Kod sampel:
new Vue({ el: '#app', data: { data: null }, created() { axios.get('/api/data') .then(res => { this.data = res.data; }) .catch(e => { console.log(e); }); } });
Kadangkala, operasi tak segerak mungkin dilakukan, seperti mendapatkan data melalui permintaan ajax. Jika operasi tak segerak tidak menunggu untuk selesai sebelum melaksanakan pengikatan data, halaman tidak akan dapat memaparkan data.
Penyelesaian:
Kod sampel:
new Vue({ el: '#app', data: { data: null }, created() { this.getData() .then(data => { this.data = data; }) .catch(error => { console.log(error); }); }, methods: { getData() { return new Promise((resolve, reject) => { axios.get('/api/data') .then(res => { resolve(res.data); }) .catch(e => { reject(e); }); }); } } });
Kod sampel:
<div v-if="data"> <!-- 显示数据 --> </div> <div v-else> <!-- 显示加载中的占位符等内容 --> </div>
Dalam aplikasi Vue, data tidak boleh dipaparkan kerana pengikatan data yang tidak berjaya dan masa pemerolehan data disebabkan oleh operasi yang salah atau tak segerak yang tidak menunggu untuk siap. Apabila menyelesaikan masalah ini, anda boleh terlebih dahulu menyemak versi Vue, sintaks pengikatan data, sama ada data telah berjaya diikat, dsb. untuk memastikan pengikatan data berjaya. Jika masa pemerolehan data tidak betul, anda boleh memuatkan data sebelum tika Vue dibuat atau menggunakan fungsi kitaran hayat yang disediakan oleh Vue untuk memuatkan data selepas tika Vue dimuatkan. Jika terdapat operasi tak segerak, anda perlu memastikan bahawa operasi tak segerak selesai sebelum mengikat data.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah yang halaman pemerolehan data Vue tidak dipaparkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!