Rumah > hujung hadapan web > uni-app > Sebab mengapa uniapp tidak memaparkan halaman selepas menukar data dan penyelesaiannya

Sebab mengapa uniapp tidak memaparkan halaman selepas menukar data dan penyelesaiannya

PHPz
Lepaskan: 2023-04-23 09:58:13
asal
4880 orang telah melayarinya

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.

  1. Data tidak terikat dengan betul

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!'
    }
  }
}
Salin selepas log masuk

Gunakan {{message}} dalam halaman untuk mengikat data ke halaman.

  1. Kaedah setData tidak digunakan semasa menukar data

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!'
})
Salin selepas log masuk
  1. Data tidak diubah suai dengan betul

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
})
Salin selepas log masuk
  1. Masalah yang disebabkan oleh arahan wx:if

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan