Sebagai rangka kerja silang hujung sumber terbuka, uniapp membenarkan pembangun membangunkan aplikasi dengan mudah untuk platform berbeza seperti program mini, H5 dan APP menggunakan sintaks vue. Semasa proses pembangunan, kita selalunya perlu menggunakan kaedah setData untuk mengemas kini data dalam komponen. Walau bagaimanapun, ramai pembangun melaporkan bahawa mereka menghadapi banyak masalah semasa menggunakan setData, yang menimbulkan keraguan semua orang tentang uniapp.
1. setData dalam uniapp
Pertama sekali, mari belajar cara menggunakan setData dalam uniapp. setData ialah cara untuk mengemas kini data melalui this.setData dalam komponen vue Ia mempunyai dua parameter: parameter pertama ialah data yang perlu dikemas kini dan parameter kedua ialah fungsi panggil balik. Contohnya:
this.setData({ count: this.data.count + 1 }, function(){ console.log('数据更新成功') })
Dalam kod di atas, kami mengemas kini data kiraan dalam data melalui setData, dan selepas kemas kini selesai, fungsi panggil balik dipanggil.
2. Masalah yang setData dalam uniapp tidak mudah digunakan
Walau bagaimanapun, dalam pembangunan sebenar, ramai pembangun melaporkan bahawa mereka menghadapi beberapa masalah apabila menggunakan setData dalam uniapp. Dalam pengalaman pembangunan peribadi saya, berikut ialah beberapa masalah yang saya hadapi:
Apabila data yang perlu kami kemas kini lebih kompleks , penggunaan setData lebih menyusahkan. Kita perlu menulis banyak kod dalam parameter pertama setData, dan data yang dikemas kini agak mendalam dan perlu ditulis dengan jelas lapisan demi lapisan Ini akan membawa kepada kod yang panjang dan kebolehbacaan yang lemah.
Jika data yang perlu kami kemas kini mengandungi objek bersarang berbilang lapisan, maka penggunaan setData akan menjadi lebih sukar. Kita perlu menambah secara manual jika...penyataan lain dalam kod untuk menentukan sama ada setiap atribut wujud, dan kita juga perlu mengemas kini nilai setiap atribut secara manual Operasi ini kadangkala terasa sangat menyusahkan dan menyusahkan.
Disebabkan mekanisme asas vue, penggunaan setData akan menyebabkan komponen dipaparkan semula sekali, yang akan menyebabkan prestasi tertentu isu. Jika hierarki komponen kami agak mendalam, maka setiap setData akan menyebabkan keseluruhan komponen dipaparkan, yang akan menjadikan aplikasi kami sangat perlahan.
3. Bagaimana untuk menyelesaikan masalah yang setData dalam uniapp tidak mudah digunakan
Sekarang kita telah memahami masalah dengan setData, bagaimana untuk menyelesaikannya? Berikut ialah beberapa penyelesaian untuk rujukan anda:
Dalam vue, kami boleh menggunakan vuex untuk pengurusan negeri global, sama dalam uniapp Anda boleh gunakan alat ini. Melalui vuex, kami boleh menyimpan data yang biasa digunakan dalam aplikasi di stor global, dan kemudian apabila kami perlu mengemas kini data, kami hanya perlu melakukan operasi mutasi. Ini bukan sahaja dapat memudahkan pengurusan data, tetapi juga mengelakkan masalah menggunakan setData.
Dalam vue, kami boleh menggunakan sifat yang dikira untuk mengendalikan beberapa operasi yang kompleks dan kemas kini data. Kaedah ini juga boleh digunakan dalam uniapp. Melalui pengiraan, kami boleh melakukan pemprosesan logik berbilang lapisan berdasarkan data sedia ada, dan kemudian mengembalikan hasil yang diproses kepada komponen vue Ini bukan sahaja dapat mengelakkan masalah pemprosesan data lapisan demi lapisan dalam setData, tetapi juga mengurangkan bilangan permohonan dipaparkan semula.
Dalam uniapp, kita boleh menggunakan onemit untuk mencetuskan peristiwa sekunder untuk lulus parameter. Untuk penggunaan khusus, sila rujuk kod berikut:
Pada halaman A:
this.$emit('changeData',{data:'hello'})
Pada halaman B:
mounted(){ uni.$on('changeData',(e)=>{ console.log(e.data)//hello }) }
Kaedah ini boleh mengelakkan masalah prestasi yang disebabkan oleh setData, tetapi anda perlu memberi perhatian kepada penamaan acara dan kaedah lulus parameter.
4. Kesimpulan
Walaupun setData mempunyai beberapa masalah dalam uniapp, kami boleh mengelak dan menyelesaikan masalah ini melalui kaedah lain. Saya mencadangkan bahawa semasa proses pembangunan, anda harus menggunakan pelbagai alatan dan kaedah yang disediakan oleh uniapp secara fleksibel berdasarkan senario tertentu dan keperluan aplikasi untuk menjadikan pembangunan lebih cekap dan lancar.
Atas ialah kandungan terperinci uniapp setdata tidak mudah digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!