Rumah hujung hadapan web View.js Petua untuk menggunakan mixin dalam Vue untuk menggunakan semula komponen seperti senarai, jadual, borang, dsb.

Petua untuk menggunakan mixin dalam Vue untuk menggunakan semula komponen seperti senarai, jadual, borang, dsb.

Jun 25, 2023 am 08:36 AM
vue mixin Penggunaan semula komponen

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

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

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 中声明的 datamethods 属性。

实现复用组件

现在,我们以列表组件为例,来探讨如何使用 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();
  }
};
Salin selepas log masuk

在这里,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>
Salin selepas log masuk

我们在组件中添加了 listDataMixin

Melaksanakan komponen boleh guna semula

Sekarang, mari kita ambil komponen senarai sebagai contoh untuk membincangkan cara menggunakan mixin untuk melaksanakan komponen boleh guna semula.

Mula-mula kita boleh mencipta campuran data senarai (dengan mengandaikan bahawa semua komponen senarai perlu menggunakan data), kita mencipta campuran bernama listDataMixin:

rrreee

Di sini, kod listDataMixin > 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 melalui Math.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 kaedah refreshList() untuk mendapatkan data yang diminta secara automatik dan memuat semula senarai sebelum memaparkan halaman.
🎜Di atas adalah data senarai umum Mixin Sifat dan kaedah dalam Mixin ini boleh digunakan semula. Anda boleh menambah Mixin ini pada komponen senarai anda dengan kod berikut: 🎜rrreee🎜 Kami menambahkan 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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

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

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

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.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

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.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

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.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

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.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

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.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

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.

Cara melompat ke Div Vue Cara melompat ke Div Vue Apr 08, 2025 am 09:18 AM

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.

See all articles