


Petua untuk menggunakan mixin dalam Vue untuk menggunakan semula komponen seperti senarai, jadual, borang, dsb.
Vue ialah rangka kerja JavaScript yang popular dengan banyak ciri dan alatan berkuasa untuk membina aplikasi web yang moden dan cekap. Salah satunya ialah mixin. Mixin ialah mekanisme lanjutan dalam Vue Ia membolehkan kami mengekstrak bahagian berfungsi yang boleh digunakan semula daripada komponen supaya fungsi ini boleh digunakan semula dengan berkesan. Ini sangat berguna apabila kami membangunkan komponen biasa seperti senarai, jadual dan borang.
Cara Mxin berfungsi
mixin boleh difahami sebagai penyalinan objek Kita boleh menyalin objek mixin ke objek lain, dengan itu menggabungkan dua objek menjadi objek baharu. Apabila kita menambah objek mixin pada komponen Vue, semua sifat dan kaedah dalam objek mixin akan disalin ke komponen. Selain itu, jika objek mixin dan komponen mempunyai sifat atau kaedah yang sama, sifat atau kaedah komponen akan mengatasi sifat atau kaedah yang sama dalam objek mixin.
Anda boleh membuat mixin melalui kod berikut:
const myMixin = { data() { return { message: 'Hello, mixin!' } }, methods: { foo() { console.log('foo'); } } };
Mixin biasanya dicampur dalam komponen Anda boleh menambah mixin pada komponen melalui kod berikut:
const Component = Vue.extend({ mixins: [myMixin], data() { return { anotherMessage: 'Hello, component!' } }, methods: { bar() { console.log('bar'); } } });
Dalam contoh ini, kami mencipta komponen Vue , dan campurkan. myMixin
ke dalam komponen melalui atribut mixins
, supaya komponen mempunyai data</code yang diisytiharkan dalam <code>myMixin
> dan kaedah
atribut. myMixin
通过 mixins
属性混合到组件中,这样组件中就具有了 myMixin
中声明的 data
和 methods
属性。
实现复用组件
现在,我们以列表组件为例,来探讨如何使用 mixin 实现复用组件。
首先我们可以创建一个列表数据 mixin(假定所有列表组件都需要用到数据),我们创建一个名为 listDataMixin
的 mixin:
export default { data: function() { return { list: [], currentPage: 1, pageSize: 10, total: 0 }; }, computed: { totalPage() { return Math.ceil(this.total / this.pageSize); } }, methods: { getItems() {}, changePage() {}, refreshList() {} }, mounted() { this.refreshList(); } };
在这里,listDataMixin
定义了一个包含数据、计算属性和方法的对象,其中:
data
部分定义了通用的列表相关的基本数据:list
:当前页的列表数据;currentPage
:当前页数;pageSize
:每页显示多少条记录;total
:共有多少条记录;
computed
部分定义值计算属性totalPage
,该属性获取了总页数,通过Math.ceil
计算获得;methods
部分定义了常用的操作方法:getItems()
:获取当前页数据;changePage(pageNumber)
:切换页面,传入页码参数;refreshList()
:刷新列表数据;
mounted
部分执行refreshList()
方法,渲染页面前自动获取请求数据并刷新列表。
以上就是一个通用的列表数据 Mixin,该 Mixin 中的属性和方法可以进行重复利用。可以通过下面的代码将该 Mixin,添加到你的列表组件中来使用:
<template> <div> <table> <thead> <tr> <th>表头</th> </tr> </thead> <tbody> <tr v-for="(item, index) in list" :key="index"> <td>{{ item }}</td> </tr> </tbody> </table> <div class="pagination"> <a v-if="currentPage > 1" @click="changePage(currentPage - 1)">上一页</a> <a v-for="pageNumber in totalPage" :key="pageNumber" :class="{ active: pageNumber === parseInt(currentPage) }" @click="changePage(pageNumber)">{{ pageNumber }}</a> <a v-if="currentPage < totalPage" @click="changePage(currentPage + 1)">下一页</a> </div> </div> </template> <script> import listDataMixin from '../mixin/listDataMixin'; export default { mixins: [listDataMixin], methods: { getItems() {}, changePage() {}, refreshList() {} } }; </script>
我们在组件中添加了 listDataMixin
listDataMixin
: rrreee
Di sini, kodlistDataMixin
> mentakrifkan objek yang mengandungi data, sifat dan kaedah yang dikira, di mana: 🎜- 🎜
data bahagian mentakrifkan data asas berkaitan senarai umum: 🎜 list: senaraikan data halaman semasa; -
currentPage
: nombor halaman semasa; -
pageSize
: Bagaimana banyak rekod dipaparkan pada setiap halaman; -
jumlah
: Berapakah jumlah keseluruhan rekod;
dikira mentakrifkan sebahagian atribut pengiraan nilai <code>totalPage
, yang memperoleh jumlah halaman dan dikira melaluiMath.ceil
;- 🎜 Bahagian
Kaedah
mentakrifkan kaedah operasi yang biasa digunakan: 🎜-
getItems()
: Dapatkan data halaman semasa; -
changePage(pageNumber)
: Tukar halaman dan masukkan parameter nombor halaman; -
refreshList()
: Muat semula data senarai;
-
- Bahagian
mounted
melaksanakan kaedahrefreshList()
untuk mendapatkan data yang diminta secara automatik dan memuat semula senarai sebelum memaparkan halaman.
listDataMixin
Mixin dalam komponen, dan medan dan kaedah ditakrifkan dalam Mixin ini untuk Komponen kami menyediakan data awam dan perkhidmatan awam, dengan itu membolehkan penggunaan semula komponen. 🎜🎜Kami boleh menambah Mixin yang sama sekali lagi dalam komponen lain untuk mendapatkan fungsi khusus yang sesuai untuk senario lain sambil memastikan medan dan kaedah awam. Ini boleh meningkatkan kadar penggunaan semula kod dengan sangat baik. 🎜🎜Ringkasan🎜🎜Dalam artikel ini, kami memperkenalkan cara menggunakan mixin untuk menggunakan semula bahagian berfungsi biasa dalam Vue.js dan cara menggunakan fungsi ini untuk menyenaraikan komponen. Mixin membolehkan kami berkongsi logik komponen dan membina asas kod boleh guna semula, dengan itu meningkatkan kebolehskalaan, kebolehselenggaraan dan pertindihan kod kami. Kami berharap dapat memberi anda beberapa idea tentang cara menggunakan mixin supaya anda boleh mula membina aplikasi web yang lebih berkuasa. 🎜Atas ialah kandungan terperinci Petua untuk menggunakan mixin dalam Vue untuk menggunakan semula komponen seperti senarai, jadual, borang, dsb.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Terdapat dua cara untuk melompat elemen div di Vue: Gunakan Vue Router dan tambahkan komponen router-link. Tambah pendengar acara @Click dan panggil ini. $ Router.push () kaedah untuk melompat.
