Rumah > Artikel > hujung hadapan web > Sebab mengapa uniapp tidak memaparkan halaman selepas menukar data dan penyelesaiannya
Apabila menggunakan uniapp untuk membangunkan projek, kami sering menghadapi masalah yang halaman tidak dipaparkan secara automatik selepas menukar data halaman. Keadaan ini biasanya disebabkan oleh data tidak terikat pada halaman atau data tidak diubah suai dengan betul.
Berikut ialah beberapa kemungkinan sebab dan penyelesaian untuk halaman tidak dipaparkan selepas menukar data.
Dalam uniapp, data halaman perlu diikat ke halaman melalui atribut data. Jika data tidak terikat pada halaman dengan betul, halaman tidak akan dipaparkan secara automatik selepas menukar data.
Penyelesaian:
Dalam atribut data halaman, tentukan data yang perlu diikat. Contohnya:
export default { data() { return { message: 'Hello uniapp!' } } }
Gunakan {{message}} dalam halaman untuk mengikat data ke halaman.
Dalam vue, menukar data memerlukan menggunakan kaedah Vue.set atau Vue.$set. Dalam uniapp, menukar data memerlukan menggunakan kaedah setData.
Penyelesaian:
Gunakan kaedah setData untuk menetapkan data. Contohnya:
this.setData({ message: 'Hello uniapp!' })
Dalam uniapp, apabila mengubah suai data melalui setData, anda perlu memberi perhatian kepada data yang diubah suai ialah salinan, dan Bukan data asal. Jika data yang diubah bukan salinan, pemaparan halaman tidak akan dicetuskan.
Penyelesaian:
Pastikan data yang akan diubah suai adalah salinan Secara amnya, anda boleh mencipta data baharu dengan menggunakan Object.assign atau memusnahkan tugasan.
Contohnya:
let newData = Object.assign({}, this.data.message, {content: 'Hello uniapp!'}); this.setData({ message: newData })
Apabila menggunakan arahan wx:if, apabila keadaan menjadi true , halaman akan dipaparkan semula. Tetapi apabila syarat menjadi palsu, nod halaman akan dimusnahkan Pada masa ini, operasi setData akan menyebabkan data gagal diberikan.
Penyelesaian:
Gunakan arahan wx:else atau wx:elif dan bukannya arahan wx:if untuk memastikan nod halaman tidak akan dimusnahkan. Contohnya:
<view wx:if="{{show}}"> ... </view> <view wx:else> ... </view>
Di atas ialah beberapa sebab dan penyelesaian yang mungkin menyebabkan halaman tidak dipaparkan selepas menukar data. Semasa proses pembangunan, anda perlu memberi perhatian untuk menggunakan kaedah yang betul untuk mengubah suai data dan memastikan data diikat dengan betul ke halaman. Pada masa yang sama, anda perlu memberi perhatian kepada masalah yang mungkin disebabkan oleh arahan wx:if, dan gunakan arahan wx:else atau wx:elif dan bukannya arahan wx:if apabila boleh.
Atas ialah kandungan terperinci Sebab mengapa uniapp tidak memaparkan halaman selepas menukar data dan penyelesaiannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!