Rumah >hujung hadapan web >View.js >Tutorial Bermula VUE3: Menggunakan pemalam Vue.js untuk merangkum komponen penarafan bintang
Dalam aplikasi web, komponen penarafan bintang sering digunakan untuk menilai barangan, perkhidmatan atau kandungan lain. Untuk memudahkan pembangun menggunakan, komuniti Vue.js sudah mempunyai banyak pemalam komponen penarafan bintang Walau bagaimanapun, pemalam komponen penarafan bintang juga perlu dirangkumkan sendiri. Artikel ini akan meninggalkan cara tradisional menulis komponen, memperkenalkan API Komposisi Vue.js 3 dan menerangkan cara menggunakan pemalam Vue.js untuk merangkum komponen penarafan bintang.
Mari kita pelajari terlebih dahulu tentang API Komposisi. API Komposisi terutamanya mempunyai kelebihan berikut:
Seterusnya, kami akan menggunakan API Komposisi untuk mereka bentuk dan melaksanakan komponen penarafan bintang.
Pemalam ialah lanjutan daripada struktur asas Vue.js. Pemalam Vue.js boleh menyediakan fungsi peringkat global kepada aplikasi Vue.js, jadi ia sesuai untuk melaksanakan komponen atau arahan biasa. Berikut ialah langkah asas untuk mencipta dan memasang pemalam Vue.js:
Kod sampel adalah seperti berikut:
// 定义插件对象 const StarRating = { install: function(Vue) { // 在install方法中注册全局组件 star-rating Vue.component('star-rating', { // 组件选项 }) } } // 调用Vue.use()方法安装插件 Vue.use(StarRating)
Dalam API Komposisi, adalah disyorkan untuk menggunakan kaedah reaktif() untuk menentukan keadaan komponen. Gunakan kaedah computed() untuk mengira keadaan terbitan komponen dan gunakan kaedah watch() untuk memantau perubahan keadaan komponen. Untuk menghantar data dengan lebih baik melalui prop dan memancarkan, kita boleh menggunakan reactive() untuk mentakrifkan objek harta dan peristiwa.
Komponen harus mempunyai atribut berikut:
Komponen harus mempunyai peristiwa berikut:
Berikut ialah kod sampel untuk mentakrifkan sifat dan objek acara:
const StarRating = { install: function(Vue) { Vue.component('star-rating', { setup(props, {emit}) { const state = reactive({ rating: 0, maxRating: props.maxRating || 5, starSize: props.starSize || 25, padding: props.padding || 5, showRating: props.showRating || false, }) function updateRating(rating) { state.rating = rating emit('update', rating) } return { state, updateRating } } }) } }
Seterusnya, Kami menggunakan kod templat untuk melaksanakan UI komponen. Fungsi persediaan() digunakan dalam Vue.js3 untuk menetapkan status dan peristiwa komponen, dan ungkapan dan arahan interpolasi dalam templat digunakan untuk memaparkan UI komponen.
Berikut ialah kod sampel untuk melaksanakan UI komponen:
const StarRating = { install: function(Vue) { Vue.component('star-rating', { setup(props, {emit}) { const state = reactive({ rating: 0, maxRating: props.maxRating || 5, starSize: props.starSize || 25, padding: props.padding || 5, showRating: props.showRating || false, }) function updateRating(rating) { state.rating = rating emit('update', rating) } const stars = [] for (let i = 0; i < state.maxRating; i++) { stars.push(i < state.rating ? 'star' : 'star_border') } return { state, updateRating, stars, } }, template: ` <div> <i v-for="star in stars" :key="star" :class="[star]" :style="{ 'font-size': state.starSize + 'px', 'padding-right': state.padding + 'px', }" @click="updateRating(stars.indexOf(star) + 1)" ></i> <span v-if="state.showRating">{{state.rating}}/{{state.maxRating}}</span> </div> ` }) } }
Kami menggunakan arahan v-for untuk menjadikan bintang dalam gelung, dan menggunakan tag i dan ikon font FontAwesome untuk memberikan ikon bintang. Dengan cara ini kami boleh mengemas kini penilaian berdasarkan pilihan pengguna.
Kini, kami telah menyelesaikan pembangunan pemalam komponen penarafan bintang. Kami boleh memasang pemalam ini secara global dalam aplikasi Vue.js kami dan kemudian menggunakannya dalam mana-mana templat komponen.
Kod contoh untuk menggunakan komponen dalam aplikasi Vue.js:
const app = Vue.createApp({}) app.use(StarRating) app.component('my-component', { data() { return { rating: 3 } }, template: ` <div> <star-rating :max-rating="5" :show-rating="true" :rating="rating" @update="rating = $event" /> </div> ` }) app.mount('#app')
Dalam kod sampel ini, kami telah mendaftarkan pemalam StarRating dalam aplikasi Vue.js dan menambahkannya dalam komponen saya Komponen pemarkahan digunakan dalam komponen. Dalam komponen komponen saya, kami menggunakan parameter $event untuk mengakses nilai rating baharu acara kemas kini.
API Komposisi membawa banyak ciri baharu kepada pembangunan komponen Vue.js. Menggunakan ciri baharu ini digabungkan dengan mekanisme pemalam Vue.js menjadikannya lebih mudah untuk merangkum dan menggunakan semula komponen. Dalam artikel ini, kami mempelajari langkah demi langkah cara membangunkan komponen penarafan bintang menggunakan API Komposisi dan pemalam Vue.js. Kini, anda boleh menggunakan teknik ini untuk membangunkan dan membungkus pemalam komponen anda sendiri.
Atas ialah kandungan terperinci Tutorial Bermula VUE3: Menggunakan pemalam Vue.js untuk merangkum komponen penarafan bintang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!