Dalam aplikasi web, fungsi halaman adalah komponen penting. Komponen paging yang baik hendaklah ringkas dan jelas dalam persembahan, kaya dengan fungsi, dan mudah untuk disepadukan dan digunakan.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Vue.js untuk membangunkan komponen halaman yang sangat boleh disesuaikan. Kami akan menerangkan secara terperinci cara membangunkan menggunakan komponen Vue melalui contoh kod.
Timbunan teknologi
Vue.js 2.x
JavaScript (ES6)
HTML5 dan CSS3
Persekitaran pembangunan
v8Node.js.
V ue.js v2 .5.2
Keperluan komponen penomboran
Terima jumlah halaman (jumlah) dan bilangan halaman semasa (semasa) melalui props
Anda boleh mengkonfigurasi bilangan maksimum halaman yang dipaparkan (maxShown)
konfigurasikan teks yang dipaparkan oleh butang (prevTeks dan nextTeks) dan gaya butang
Klik nombor halaman untuk beralih ke halaman yang sepadan
Nombor halaman semasa diserlahkan
Apabila halaman semasa tidak mempunyai halaman sebelumnya, klik acara butang halaman sebelumnya diabaikan
Apabila halaman semasa tidak mempunyai halaman seterusnya, abaikan acara klik butang halaman seterusnya
Idea reka bentuk dan pelaksanaan kod
Mengikut keperluan, kami membahagikan komponen halaman kepada beberapa komponen kecil untuk pelaksanaan. Kita perlu mencipta 3 komponen kecil berikut:
Pagination.vue
komponen halaman utama, yang bertanggungjawab untuk memproses data penomboran dan logik. Hantar maklumat paging kepada subkomponen dan balas peristiwa subkomponen.
Button.vue
Komponen ini ialah komponen butang, digunakan untuk membuat butang paging.
Page.vue
Komponen ini digunakan untuk membuat satu blok halaman, termasuk label halaman dan status. Blok halaman boleh menjadi halaman semasa atau halaman bukan semasa.
Seterusnya, mari kita gunakan kod untuk melaksanakan 3 komponen di atas.
Pagination.vue
Salin selepas log masuk
Dalam kod di atas, kami mula-mula mengimport komponen ButtonPrev, ButtonNext dan Page. Seterusnya, atribut jumlah, semasa, maxShown, prevText dan nextText diperoleh menggunakan prop, dan halaman atribut yang dikira ditakrifkan Berdasarkan nombor halaman semasa (semasa) dan nombor halaman maksimum (maxShown), tatasusunan yang mengandungi nombor halaman diperolehi untuk digunakan dalam komponen.
Kami juga mentakrifkan kaedah selectPage, di mana jika nombor halaman (halaman) adalah sama dengan nombor halaman semasa (semasa), kembali atau tidak melakukan apa-apa. Jika tidak, nombor halaman baharu dipancarkan kepada komponen induk. Kaedah
sebelumnya() dan seterusnya() digunakan untuk mengendalikan acara halaman sebelumnya dan halaman seterusnya dan menghalang acara daripada dibalas.
ButtonPrev.vue
Salin selepas log masuk
Dalam kod di atas, kami mula-mula mendapatkan nombor halaman semasa (semasa) dan atribut teks (prevTeks) butang halaman sebelumnya melalui prop. Dalam templat, gunakan pengikatan kelas (dilumpuhkan) untuk mengawal keadaan penggunaan butang. Kaedah onPrev ditakrifkan, yang mencetuskan peristiwa onPrev komponen induk.
ButtonNext.vue
Salin selepas log masuk
Dalam kod di atas, kami menyalin kod ButtonPrev.vue dan menukar sedikit teks dan syarat penghakiman.
Page.vue
Salin selepas log masuk
Dalam kod di atas, kami memperoleh nilai nombor halaman (halaman) dan atribut isSelected bagi butang melalui prop. Dalam templat, gunakan pengikatan kelas ("semasa") untuk menyerlahkan halaman yang dipilih.
Kami juga mentakrifkan kaedah onPageSelected, yang mencetuskan peristiwa onPageSelected komponen induk.
Akhir sekali, komponen ini boleh digunakan dalam templat dalam mana-mana aplikasi Vue.js, seperti yang ditunjukkan di bawah:
{{ item.name }}
Salin selepas log masuk
Dalam kod di atas, kami telah memperkenalkan komponen Penomboran dan menjadikannya komponen induk dalam templat. Kami juga mengikat jumlah, semasa dan maxShown kepada komponen untuk mendapatkan nilainya. Dalam kaedah onPageChanged, kami boleh mengendalikan peristiwa perubahan halaman dan meminta data yang sepadan berdasarkan nombor halaman semasa.
Atas ialah kandungan terperinci Amalan komponen Vue: pembangunan komponen halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
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