Rumah hujung hadapan web View.js Cara menggunakan Vuex untuk melaksanakan pengurusan negeri dalam projek Vue

Cara menggunakan Vuex untuk melaksanakan pengurusan negeri dalam projek Vue

Oct 15, 2023 pm 03:57 PM
vuex Pengurusan status projek vue

Cara menggunakan Vuex untuk melaksanakan pengurusan negeri dalam projek Vue

Cara menggunakan Vuex untuk melaksanakan pengurusan negeri dalam projek Vue

Pengenalan:
Dalam pembangunan Vue.js, pengurusan negeri ialah topik penting. Apabila kerumitan aplikasi meningkat, menghantar dan berkongsi data antara komponen menjadi rumit dan sukar. Vuex ialah perpustakaan pengurusan negeri rasmi Vue.js, menyediakan pembangun dengan penyelesaian pengurusan negeri berpusat. Dalam artikel ini, kita akan membincangkan penggunaan Vuex, bersama-sama dengan contoh kod tertentu.

  1. Pasang dan konfigurasikan Vuex:
    Mula-mula, kita perlu memasang Vuex. Dalam projek Vue anda, gunakan npm atau yarn untuk memasang Vuex:
npm install vuex
Salin selepas log masuk

Kemudian, buat fail bernama store.js dalam projek Vue anda untuk mengkonfigurasi Vuex. Dalam fail ini, perkenalkan Vue dan Vuex, dan buat contoh kedai baharu:

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

Vue.use(Vuex)

const store = new Vuex.Store({
   // 在这里配置你的状态和相关的mutations,getters,actions等
})

export default store
Salin selepas log masuk
  1. Tentukan keadaan dan perubahan:
    Dalam Vuex, keadaan dipanggil "stor" dan boleh dihantar sifat state kepada mengisytiharkan. Sebagai contoh, kita boleh menambah keadaan bernama count pada fail store.js: state属性来声明。例如,我们可以在store.js文件中添加一个名为count的状态:
const store = new Vuex.Store({
   state: {
      count: 0
   }
})
Salin selepas log masuk

我们还需要定义在状态变更时会触发的函数,这些函数被称为“mutations”。在mutations中,我们可以修改状态。例如,我们可以添加一个名为increment的mutations来增加count的值:

const store = new Vuex.Store({
   state: {
      count: 0
   },
   mutations: {
      increment (state) {
         state.count++
      }
   }
})
Salin selepas log masuk
  1. 在组件中使用状态:
    一旦我们配置好了Vuex的状态和变更,我们就可以在组件中使用它们了。在组件中,可以通过this.$store来访问Vuex的store。例如,在一个组件的template中使用count状态:
<template>
   <div>
      <p>Count: {{ this.$store.state.count }}</p>
      <button @click="increment">Increment</button>
   </div>
</template>

<script>
export default {
   methods: {
      increment () {
         this.$store.commit('increment')
      }
   }
}
</script>
Salin selepas log masuk

在上面的代码中,我们通过this.$store.state.count来获取count状态的值,并通过this.$store.commit('increment')来触发increment的mutation。

  1. 计算属性和getters:
    有时,我们需要从状态派生一些新的计算属性,例如对状态进行过滤或计算。在Vuex中,可以使用getters来实现。在store.js中,我们可以添加一个名为evenOrOdd的getter来判断count的值是奇数还是偶数:
const store = new Vuex.Store({
   state: {
      count: 0
   },
   mutations: {
      increment (state) {
         state.count++
      }
   },
   getters: {
      evenOrOdd: state => state.count % 2 === 0 ? 'even' : 'odd'
   }
})
Salin selepas log masuk

然后在组件中使用getter,可以通过this.$store.getters来访问。例如,在组件的template中使用evenOrOdd计算属性:

<template>
   <div>
      <p>Count: {{ this.$store.state.count }}</p>
      <p>Count is {{ this.$store.getters.evenOrOdd }}</p>
      <button @click="increment">Increment</button>
   </div>
</template>

<script>
export default {
   methods: {
      increment () {
         this.$store.commit('increment')
      }
   }
}
</script>
Salin selepas log masuk
  1. 异步操作和actions:
    有时候,我们需要在mutation中执行一些异步操作,例如发送请求或延迟更新状态。在Vuex中,可以使用actions来实现。在store.js中,我们可以添加一个名为incrementAsync的action来实现异步增加count的操作:
const store = new Vuex.Store({
   state: {
      count: 0
   },
   mutations: {
      increment (state) {
         state.count++
      }
   },
   actions: {
      incrementAsync ({ commit }) {
         setTimeout(() => {
            commit('increment')
         }, 1000)
      }
   }
})
Salin selepas log masuk

然后在组件中触发action,可以通过this.$store.dispatch来访问。例如,在组件的methods

export default {
   methods: {
      increment () {
         this.$store.dispatch('incrementAsync')
      }
   }
}
Salin selepas log masuk

Kita juga perlu menentukan fungsi yang akan dicetuskan apabila keadaan berubah Fungsi ini dipanggil "mutasi". . Dalam mutasi, kita boleh mengubah suai keadaan. Sebagai contoh, kita boleh menambah mutasi yang dipanggil increment untuk meningkatkan nilai kiraan:
rrreee

    Menggunakan keadaan dalam komponen: 🎜Setelah kita mengkonfigurasi keadaan Vuex dan perubahan, kita boleh menggunakannya dalam komponen. Dalam komponen tersebut, anda boleh mengakses gedung Vuex melalui this.$store. Contohnya, menggunakan keadaan kiraan dalam template komponen: 🎜🎜rrreee🎜Dalam kod di atas, kita mendapat keadaan kiraan melalui nilai this.$store.state.count , dan mencetuskan mutasi kenaikan melalui this.$store.commit('increment'). 🎜
      🎜Sifat dan pengira yang dikira:🎜Kadangkala, kita perlu memperoleh beberapa sifat pengiraan baharu daripada keadaan, seperti menapis atau mengira keadaan. Dalam Vuex, ini boleh dicapai menggunakan getters. Dalam store.js, kita boleh menambah pengambil bernama evenOrOdd untuk menentukan sama ada nilai kiraan adalah ganjil atau genap: 🎜🎜rrreee🎜 Kemudian gunakan pengambil dalam komponen, yang boleh dihantar ini. $store.getters untuk diakses. Contohnya, gunakan sifat terkira evenOrOdd dalam template komponen: 🎜rrreee
        🎜Operasi dan tindakan tak segerak: 🎜Kadangkala, kita perlu melakukan beberapa operasi tak segerak dalam mutasi, seperti sebagai Hantar permintaan atau tangguhkan pengemaskinian status. Dalam Vuex, anda boleh menggunakan actions untuk mencapai matlamat ini. Dalam store.js, kita boleh menambah tindakan bernama incrementAsync untuk melaksanakan operasi meningkatkan kiraan secara tak segerak: 🎜🎜rrreee🎜 Kemudian cetuskan tindakan dalam komponen, yang boleh dilakukan melalui ini .$store .dispatch untuk mengakses. Contohnya, cetuskan tindakan incrementAsync dalam kaedah komponen: 🎜rrreee🎜Ringkasan: 🎜Dalam artikel ini, kami membincangkan cara menggunakan Vuex untuk melaksanakan pengurusan keadaan dalam projek Vue. Kami menunjukkan penggunaan Vuex melalui contoh memasang dan mengkonfigurasi Vuex, mentakrifkan keadaan dan perubahan, menggunakan keadaan dan perubahan serta menggunakan sifat dan tindakan yang dikira. Saya harap artikel ini telah memberikan sedikit bantuan untuk anda menggunakan Vuex dalam projek Vue anda. 🎜

Atas ialah kandungan terperinci Cara menggunakan Vuex untuk melaksanakan pengurusan negeri dalam projek Vue. 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
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)

Bagaimana untuk menjalankan projek vue dalam webstorm Bagaimana untuk menjalankan projek vue dalam webstorm Apr 08, 2024 pm 01:57 PM

Untuk menjalankan projek Vue menggunakan WebStorm, anda boleh mengikuti langkah berikut: Pasang Vue CLI Cipta projek Vue Buka WebStorm Mulakan pelayan pembangunan Jalankan projek Lihat projek dalam penyemak imbas Nyahpepijat projek dalam WebStorm

Cara menggunakan operasi gerak isyarat mudah alih dalam projek Vue Cara menggunakan operasi gerak isyarat mudah alih dalam projek Vue Oct 08, 2023 pm 07:33 PM

Cara menggunakan operasi gerak isyarat mudah alih dalam projek Vue Dengan populariti peranti mudah alih, semakin banyak aplikasi perlu menyediakan pengalaman interaktif yang lebih mesra pada terminal mudah alih. Operasi gerak isyarat ialah salah satu kaedah interaksi biasa pada peranti mudah alih, yang membolehkan pengguna menyelesaikan pelbagai operasi dengan menyentuh skrin, seperti meluncur, mengezum, dsb. Dalam projek Vue, kami boleh melaksanakan operasi gerak isyarat mudah alih melalui pustaka pihak ketiga Perkara berikut akan memperkenalkan cara menggunakan operasi gerak isyarat dalam projek Vue dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan yang istimewa

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

TypeError: Tidak dapat membaca 'panjang' sifat yang tidak ditentukan muncul dalam projek Vue, bagaimana untuk menanganinya? TypeError: Tidak dapat membaca 'panjang' sifat yang tidak ditentukan muncul dalam projek Vue, bagaimana untuk menanganinya? Nov 25, 2023 pm 12:58 PM

Dalam pembangunan projek Vue, kami sering menghadapi mesej ralat seperti TypeError:Cannotreadproperty'length'ofundefined. Ralat ini bermakna bahawa kod sedang cuba membaca sifat pembolehubah yang tidak ditentukan, terutamanya sifat tatasusunan atau objek. Ralat ini biasanya menyebabkan gangguan dan ranap aplikasi, jadi kami perlu menanganinya dengan segera. Dalam artikel ini, kita akan membincangkan cara menangani ralat ini. Semak definisi pembolehubah dalam kod

Bagaimana untuk membuat projek vue dalam webstorm Bagaimana untuk membuat projek vue dalam webstorm Apr 08, 2024 pm 12:03 PM

Cipta projek Vue dalam WebStorm dengan mengikut langkah berikut: Pasang WebStorm dan Vue CLI. Cipta templat projek Vue dalam WebStorm. Cipta projek menggunakan arahan Vue CLI. Import projek sedia ada ke dalam WebStorm. Gunakan arahan "npm run serve" untuk menjalankan projek Vue.

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

Bagaimana untuk mengeksport dan mengimport data jadual dalam projek Vue Bagaimana untuk mengeksport dan mengimport data jadual dalam projek Vue Oct 08, 2023 am 09:42 AM

Cara mengeksport dan mengimport data jadual dalam projek Vue memerlukan contoh kod khusus Pengenalan Dalam projek Vue, jadual adalah salah satu komponen yang paling biasa dan penting. Dalam projek sebenar, kita sering menghadapi keperluan untuk mengeksport data jadual ke Excel atau mengimport data ke dalam Excel untuk dipaparkan dalam jadual. Artikel ini akan memperkenalkan secara terperinci cara mengeksport dan mengimport data jadual dalam projek Vue dan memberikan contoh kod khusus. Eksport data jadual Untuk melaksanakan eksport data jadual dalam Vue, kita boleh menggunakan perpustakaan sumber terbuka matang sedia ada

See all articles