Rumah hujung hadapan web View.js Bagaimana untuk menggunakan Vuex untuk pengurusan data dan perkongsian negeri?

Bagaimana untuk menggunakan Vuex untuk pengurusan data dan perkongsian negeri?

Jun 25, 2023 pm 01:44 PM
vuex Pengurusan data Perkongsian negeri

Vuex ialah perpustakaan pengurusan negeri yang direka khas untuk Vue.js. Ia boleh membantu kami memudahkan pemindahan dan pengurusan data antara komponen dan meningkatkan kebolehselenggaraan dan kebolehskalaan aplikasi. Artikel ini akan memperkenalkan cara menggunakan Vuex untuk pengurusan data dan perkongsian negeri, dengan harapan dapat membantu semua orang memahami dan menggunakan Vuex dengan lebih baik.

1. Apakah itu Vuex?

Vuex ialah perpustakaan pengurusan negeri yang disediakan secara rasmi oleh Vue.js Ia menggunakan storan berpusat untuk mengurus keadaan semua komponen aplikasi dan menggunakan peraturan yang sepadan untuk memastikan ketekalan keadaan. Dalam Vuex, kami boleh mengurus data kami dan menyatakan melalui gedung Kedai termasuk konsep teras berikut:

  • nyatakan: data keadaan, digunakan untuk menyimpan pelbagai nilai keadaan dalam aplikasi
  • getter: baca Dapatkan atribut yang dikira , digunakan untuk memperoleh beberapa nilai keadaan daripada stor;
  • mutasi: mengubah suai keadaan secara serentak, digunakan untuk mengubah suai data secara serentak dalam keadaan
  • tindakan: keadaan diubah suai tidak segerak, digunakan untuk memproses operasi tak segerak dan menyerahkan mutasi ;
  • modul: Modularisasi, digunakan untuk membahagikan kedai besar kepada sub-modul yang lebih kecil dan mengurus status serta operasinya masing-masing.

2. Mengapa anda memerlukan Vuex?

Dalam aplikasi Vue.js, apabila tahap komponen terus meningkat, pemindahan data dan keadaan antara komponen akan menjadi semakin kompleks Pada masa ini, kami memerlukan perpustakaan pengurusan negeri untuk membantu kami mengurus dan berkongsi pelbagai nilai status ​dalam permohonan itu. Menggunakan Vuex boleh membawa faedah berikut:

  1. Pengurusan negeri berpusat: setiap komponen boleh mengakses pepohon keadaan yang sama, menjadikan pengurusan negeri lebih bersatu dan berpusat
  2. Penyelenggaraan dan penyahpepijatan yang mudah: Vuex boleh membantu kami memahami status dan data dengan lebih baik; aliran aplikasi, menjadikan penyahpepijatan dan penyelenggaraan lebih mudah
  3. Meningkatkan kebolehbacaan dan kebolehselenggaraan kod: Menggunakan Vuex, aliran kawalan data boleh ditumpukan di satu tempat, menjadikan logik kod lebih cekap Jelas dan mudah diselenggara ;
  4. Pemisahan logik perniagaan dan pengurusan keadaan: Dengan menyimpan keadaan dalam stor Vuex, pemisahan komponen logik perniagaan dan komponen pengurusan negeri boleh dicapai untuk memudahkan penyelenggaraan dan pengurusan.

3. Bagaimana cara menggunakan Vuex?

Sebelum menggunakan Vuex, anda perlu memasang perpustakaan Vuex dan memperkenalkannya dalam projek Vue:

npm install vuex --save

import Vuex from 'vuex'
import Vue from 'vue'

Vue.use(Vuex)
Salin selepas log masuk

Seterusnya, kita perlu mencipta kedai Vuex dan mendaftarkannya dalam contoh Vue, seperti berikut:

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment(state) {
      state.count++
    },
    decrement(state) {
      state.count--
    }
  },
  actions: {
    incrementAsync(context) {
      setTimeout(() => {
        context.commit('increment')
      }, 1000)
    }
  },
  getters: {
    evenOrOdd(state) {
      return state.count % 2 === 0 ? 'even' : 'odd'
    }
  }
})

new Vue({
  el: '#app',
  store,
  computed: {
    count() {
      return this.$store.state.count
    },
    evenOrOdd() {
      return this.$store.getters.evenOrOdd
    }
  },
  methods: {
    increment() {
      this.$store.commit('increment')
    },
    decrement() {
      this.$store.commit('decrement')
    },
    incrementAsync() {
      this.$store.dispatch('incrementAsync')
    }
  }
})
Salin selepas log masuk

Dalam perkara di atas kod, kami Mencipta kedai Vuex yang mengandungi tiga konsep teras (keadaan, mutasi dan tindakan). Antaranya, keadaan digunakan untuk menyimpan data keadaan, mutasi digunakan untuk mengubah suai keadaan secara serentak, dan tindakan digunakan untuk memproses operasi tak segerak dan menyerahkan mutasi. Di sini, kami juga mentakrifkan pengambil yang mengira sama ada nilai kiraan dalam keadaan adalah genap atau ganjil.

Dalam contoh Vue, kami menggunakan atribut atribut dan kaedah yang dikira untuk mengakses keadaan, mutasi dan tindakan dalam stor. count dan evenOrOdd dalam atribut yang dikira dikira berdasarkan data sebenar dalam keadaan, manakala increment, decrement dan incrementAsync dalam atribut kaedah ialah kaedah yang digunakan untuk mengubah suai keadaan.

4. Penggunaan keadaan dan mutasi

keadaan adalah konsep teras Vuex Ia digunakan untuk menyimpan pelbagai nilai keadaan secara amnya, ia perlu diubahsuai melalui mutasi. Dalam Vuex, kita boleh mengakses dan mengubah suai keadaan dengan cara berikut:

  1. Mengakses keadaan: Kita boleh mengakses keadaan dalam kedai melalui ini.$store.state Sebagai contoh, kiraan dalam kod contoh di atas ialah keadaan. .
  2. Ubah suai keadaan secara langsung:
    Ubah suai keadaan secara langsung akan menyebabkan alat analisis statik Vuex melaporkan ralat, kerana prinsip Vuex ialah perubahan data dalam stor mesti melalui mutasi. Jika kita perlu mengubahsuai secara langsung nilai keadaan, kita perlu menggunakan Vue.set supaya pengubahsuaian boleh mencetuskan kemas kini UI secara responsif Kod sampel adalah seperti berikut:
Vue.set(state.obj, 'newProp', 123)
Salin selepas log masuk
  1. Ubah suai keadaan melalui mutasi:
    mutasi ialah koleksi. digunakan untuk mengubah suai keadaan Dalam Vuex ia adalah operasi segerak. Dengan melaksanakan mutasi, kita boleh sewenang-wenangnya mengubah suai nilai dalam negeri. Mutasi adalah satu-satunya cara untuk mengubah suai keadaan dalam Vuex Operasi tak segerak atau kesan sampingan lain tidak boleh dilakukan dalam mutasi. Kami boleh menyerahkan mutasi dengan cara berikut:
this.$store.commit('increment')   // 传入 mutation 的名称
this.$store.commit({
  type: 'increment',
  amount: 10    // 传入额外的参数
})
Salin selepas log masuk

4. Penggunaan tindakan dan pengambil

Dalam aplikasi, kadangkala kita perlu melakukan beberapa operasi tak segerak, dalam kes ini, kita boleh menggunakan tindakan untuk mengendalikan, Tindakan boleh mengandungi sebarang asynchronous operasi, dan akhirnya data dalam keadaan perlu diubah suai dengan menyerahkan mutasi. Dalam Vuex, kami boleh mengendalikan tindakan dengan cara berikut:

  1. Takrifkan tindakan:
actions: {
  incrementAsync(context) {
    setTimeout(() => {
      context.commit('increment')
    }, 1000)
  }
}
Salin selepas log masuk
  1. Serahkan tindakan:
this.$store.dispatch('incrementAsync')
Salin selepas log masuk

Dalam Vuex, getter boleh dianggap sebagai harta terkira di sesetengah kedai, iaitu Melalui beberapa negeri, nilai yang diperoleh daripada keadaan kedai, sejumlah besar pengiraan berulang dan kompleks secara logik boleh di-cache. Dalam Vuex, kita boleh menggunakan getter dengan cara berikut:

  1. Takrifkan getter:
getters: {
  evenOrOdd(state) {
    return state.count % 2 === 0 ? 'even' : 'odd'
  }
}
Salin selepas log masuk
  1. Access getters:
this.$store.getters.evenOrOdd
Salin selepas log masuk

5. Penggunaan modul

在 Vuex 中,如果我们的应用程序中存在大量的 state 和 mutations、actions 和 getters,单独存放到一个 store 中会极大地增加代码的复杂性和维护难度,此时我们可以使用 module 在 Vuex 中进行模块化管理。在 using module 模式中,每个模块都拥有自己的 state、mutations、actions 和 getters,从而让代码更加清晰明了、易于维护。使用 module 的方法和常规的 Vuex store 相似,只是需要在 Vuex.Store() 中添加模块,如下所示:

const moduleA = {
  state: { ... },
  mutations: { ... },
  actions: { ... },
  getters: { ... }
}

const store = new Vuex.Store({
  modules: {
    a: moduleA
  }
})
Salin selepas log masuk

如上代码所示,我们创建了一个名为 moduleA 的模块,然后在 store 中通过 modules 选项将其添加到了 Vuex 的 store 中。在组件中访问模块的 state、mutations、actions 和 getters,和访问常规的 Vuex store 中的一样,只需要在前面加上模块名即可,例如:

computed: {
  ...mapState('a', {
    count: state => state.count
  }),
  ...mapGetters('a', [
    'evenOrOdd'
  ])
},
methods: {
  ...mapMutations('a', [
    'increment'
  ]),
  ...mapActions('a', [
    'incrementAsync'
  ])
}
Salin selepas log masuk

在组件中,使用 mapState、mapMutation、mapActions 和 mapGetters 进行访问和操作,可以更加方便和快捷地操作和维护模块的状态和数据。

六、总结

本文简要介绍了 Vue.js 的状态管理库 Vuex 的使用方法和常用场景,包括 state、mutation、action、getter 和 module 等几个核心概念的使用。Vuex 可以帮助我们有效地管理和共享应用程序中的各种状态值,提高代码的可维护性和可扩展性。在使用 Vuex 的过程中,我们还需要注意一些细节和坑点,如同步和异步操作、state 和 mutation 的使用规范等问题,需要认真掌握和注意。

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Vuex untuk pengurusan data dan perkongsian negeri?. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu 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)

Amalan terbaik untuk menggunakan Vuex untuk mengurus keadaan global dalam Vue2.x Amalan terbaik untuk menggunakan Vuex untuk mengurus keadaan global dalam Vue2.x Jun 09, 2023 pm 04:07 PM

Vue2.x ialah salah satu rangka kerja bahagian hadapan paling popular pada masa ini, yang menyediakan Vuex sebagai penyelesaian untuk mengurus keadaan global. Menggunakan Vuex boleh menjadikan pengurusan negeri lebih jelas dan lebih mudah diselenggarakan Amalan terbaik Vuex akan diperkenalkan di bawah untuk membantu pembangun menggunakan Vuex dengan lebih baik dan meningkatkan kualiti kod. 1. Gunakan keadaan organisasi modular Vuex menggunakan pepohon keadaan tunggal untuk mengurus semua keadaan aplikasi, mengekstrak keadaan daripada komponen, menjadikan pengurusan negeri lebih jelas dan lebih mudah difahami. Dalam aplikasi dengan banyak keadaan, modul mesti digunakan

Sandaran data dalam PHP Sandaran data dalam PHP May 24, 2023 am 08:01 AM

Dalam proses pembangunan web, penyimpanan data dan sandaran sudah pasti merupakan bahagian yang sangat penting. Dalam kes kehilangan data atau keperluan pemulihan, sandaran sangat diperlukan. Untuk PHP, bahasa back-end sumber terbuka, terdapat juga banyak pilihan untuk sandaran data Mari kita lihat dengan lebih dekat pada sandaran data dalam PHP. 1. Sandaran pangkalan data 1.1 Alat MYSQLdump MYSQLdump ialah alat baris arahan untuk membuat sandaran pangkalan data MYSQL Ia menyalin keseluruhan pangkalan data atau pangkalan data dengan melaksanakan pernyataan SQL.

Cara menggunakan Vuex dalam Vue3 Cara menggunakan Vuex dalam Vue3 May 14, 2023 pm 08:28 PM

Apakah yang Vuex lakukan? Vue rasmi: Alat pengurusan negeri Apakah pengurusan negeri yang perlu dikongsi di antara pelbagai komponen, dan ia responsif, satu perubahan, semua perubahan? Contohnya, beberapa maklumat status yang digunakan secara global: status log masuk pengguna, nama pengguna, maklumat lokasi geografi, item dalam troli beli-belah, dll. Pada masa ini, kami memerlukan alat sedemikian untuk pengurusan status global, dan Vuex ialah alat sedemikian. Pengurusan keadaan halaman tunggal Paparan–>Tindakan–>Lapisan paparan keadaan (paparan) mencetuskan tindakan (tindakan) untuk menukar keadaan (keadaan) dan bertindak balas semula untuk melihat lapisan (pandangan) vuex (Vue3.

Bagaimana untuk menyelesaikan masalah 'Ralat: [vuex] tidak mengubah keadaan kedai vuex di luar pengendali mutasi apabila menggunakan vuex dalam aplikasi Vue? Bagaimana untuk menyelesaikan masalah 'Ralat: [vuex] tidak mengubah keadaan kedai vuex di luar pengendali mutasi apabila menggunakan vuex dalam aplikasi Vue? Jun 24, 2023 pm 07:04 PM

Dalam aplikasi Vue, menggunakan vuex ialah kaedah pengurusan keadaan biasa. Walau bagaimanapun, apabila menggunakan vuex, kadangkala kita mungkin menghadapi mesej ralat sedemikian: "Ralat:[vuex]donotmutatevuexstorestateoutsidemutationhandlers Apakah maksud mesej ralat ini? Mengapa mesej ralat ini muncul? Bagaimana untuk membetulkan ralat ini? Artikel ini akan membincangkan isu ini secara terperinci. Mesej ralat mengandungi

Pengurusan Data dengan Pertanyaan React dan Pangkalan Data: Panduan Amalan Terbaik Pengurusan Data dengan Pertanyaan React dan Pangkalan Data: Panduan Amalan Terbaik Sep 27, 2023 pm 04:13 PM

Pengurusan Data dengan ReactQuery dan Pangkalan Data: Panduan Amalan Terbaik Pengenalan: Dalam pembangunan front-end moden, mengurus data ialah tugas yang sangat penting. Memandangkan permintaan pengguna untuk prestasi tinggi dan kestabilan terus meningkat, kami perlu mempertimbangkan cara untuk mengatur dan mengurus data aplikasi dengan lebih baik. ReactQuery ialah alat pengurusan data yang berkuasa dan mudah digunakan yang menyediakan cara mudah dan fleksibel untuk mengendalikan pengambilan semula, kemas kini dan caching data. Artikel ini akan memperkenalkan cara menggunakan ReactQ

Cara menggunakan PHP dan FireBase untuk melaksanakan pengurusan data awan Cara menggunakan PHP dan FireBase untuk melaksanakan pengurusan data awan Jun 25, 2023 pm 08:48 PM

Dengan perkembangan pesat Internet, pengurusan data awan telah menjadi alat penting untuk lebih banyak perusahaan dan individu. PHP dan Firebase sudah pasti dua alat yang sangat berkuasa yang boleh membantu kami mencapai pengurusan data awan. Seterusnya, artikel ini akan memperkenalkan cara menggunakan PHP dan Firebase untuk melaksanakan pengurusan data awan. Apakah itu Firebase Firebase ialah platform perkhidmatan awan yang disediakan oleh Google, direka untuk membantu pembangun dengan cepat membina aplikasi web yang berkualiti tinggi dan boleh dipercayai. F

Bagaimana untuk menyelesaikan masalah 'Ralat: [vuex] jenis tindakan yang tidak diketahui: xxx' apabila menggunakan vuex dalam aplikasi Vue? Bagaimana untuk menyelesaikan masalah 'Ralat: [vuex] jenis tindakan yang tidak diketahui: xxx' apabila menggunakan vuex dalam aplikasi Vue? Jun 25, 2023 pm 12:09 PM

Dalam projek Vue.js, vuex ialah alat pengurusan keadaan yang sangat berguna. Ia membantu kami berkongsi keadaan antara berbilang komponen dan menyediakan cara yang boleh dipercayai untuk mengurus perubahan keadaan. Tetapi apabila menggunakan vuex, kadangkala anda akan menghadapi ralat "Error:[vuex]unknownactiontype:xxx". Artikel ini akan menerangkan punca dan penyelesaian ralat ini. 1. Punca ralat Apabila menggunakan vuex, kita perlu menentukan beberapa tindakan dan mu

Ketahui lebih lanjut tentang prinsip pelaksanaan vuex Ketahui lebih lanjut tentang prinsip pelaksanaan vuex Mar 20, 2023 pm 06:14 PM

Apabila ditanya dalam temu bual tentang prinsip pelaksanaan vuex, bagaimanakah anda harus menjawab? Artikel berikut akan memberi anda pemahaman yang mendalam tentang prinsip pelaksanaan vuex. Saya harap ia akan membantu anda!

See all articles