cari
Rumahhujung hadapan webView.jsPerkongsian praktikal tentang menggunakan vuex untuk mengurus status global dalam Vue

Vue ialah rangka kerja bahagian hadapan yang popular. Idea asasnya ialah membahagikan halaman kepada komponen yang berbeza, setiap komponen mempunyai keadaannya sendiri. Walau bagaimanapun, terdapat situasi di mana kita perlu berkongsi keadaan antara berbilang komponen. Untuk menangani situasi ini, Vue menyediakan vuex, perpustakaan pihak ketiga yang direka khusus untuk mengurus keadaan global aplikasi. Dalam artikel ini, kami akan berkongsi beberapa pengalaman praktikal menggunakan vuex dalam projek Vue.

Apakah itu Vuex?

Vuex ialah alat pengurusan negeri rasmi untuk Vue.js. Ia menggunakan storan berpusat untuk mengurus keadaan semua komponen aplikasi, dilaksanakan melalui satu objek.

Konsep teras Vuex termasuk:

  • Negeri: Menyimpan keadaan peringkat aplikasi.
  • Getter: Dapatkan nilai yang disimpan dalam keadaan dan lakukan pengiraan.
  • Mutasi: Tukar nilai dalam keadaan.
  • Tindakan: Serahkan mutasi dan lakukan operasi tak segerak.
  • Modul: Uraikan stor kepada berbilang sub-modul, setiap modul boleh mempunyai keadaan, mutasi, tindakannya sendiri

Gunakan Vuex dalam projek Vue

Dalam pesanan Untuk menunjukkan proses penggunaan Vuex dalam projek Vue, kami akan mencipta contoh aplikasi mudah yang kami panggil "Senarai Tugasan" yang membolehkan kami menambah dan mengalih keluar tugas dan memaparkannya dalam senarai tugas. Di bawah ini kami akan memperkenalkan cara menggunakan Vuex untuk melaksanakan aplikasi Senarai Tugasan ini.

Pertama, untuk menggunakan Vuex, kami perlu mengimportnya dalam aplikasi Vue kami. Kami boleh mengimport dan menyuntik objek Vuex dalam main.js seperti berikut:

import Vue from 'vue'
import Vuex from 'vuex'
import App from './App.vue'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    tasks: []
  },
  mutations: {
    addTask(state, task) {
      state.tasks.push(task)
    },
    removeTask(state, index) {
      state.tasks.splice(index, 1)
    }
  }
})

new Vue({
  store,
  render: h => h(App)
}).$mount('#app')

Di sini, kami mula-mula mengimport Vuex dan menyuntiknya ke dalam objek Vue. Seterusnya, kami akan mencipta pemalar dipanggil kedai yang mencipta contoh storan Vuex baharu menggunakan pembina Vuex.Store. Di sini kami menentukan keadaan dan mutasi di kedai kami. Status kami ialah tatasusunan tugas, yang menyimpan tugasan dalam Senarai Tugasan kami. Mutasi kami termasuk addTask dan removeTask, yang digunakan untuk menambah dan mengalih keluar tugas masing-masing.

Kami juga menyuntik kedai ke dalam contoh Vue supaya kami boleh menggunakannya dalam semua komponen aplikasi kami. Kini, kami boleh mengakses keadaan dan mutasi dalam stor dalam komponen kami.

Dalam contoh aplikasi Senarai Tugasan kami, kami mempunyai komponen yang dipanggil AddTask.vue yang mengandungi borang yang membolehkan pengguna menambah tugasan. Dalam komponen ini, kami boleh menggunakan $store untuk mengakses keadaan dan mutasi dalam stor dan mencetuskan mutasi addTask kami untuk menambahkan tugasan ke stor. Kodnya adalah seperti berikut:

<template>
  <form @submit.prevent="addTask">
    <input type="text" v-model="task" />
    <button type="submit">Add Task</button>
  </form>
</template>

<script>
export default {
  data() {
    return {
      task: ''
    }
  },
  methods: {
    addTask() {
      this.$store.commit('addTask', this.task)
      this.task = ''
    }
  }
}
</script>

Di sini, kami menggunakan borang dalam komponen, dan apabila borang diserahkan, kami memanggil kaedah addTask dan menghantar nama tugas sebagai parameter kepada $store.commit kaedah. Ini mencetuskan mutasi addTask yang kami takrifkan sebelum ini untuk menambah tugasan ke kedai.

Seterusnya, kami mempunyai komponen TasksList.vue yang memaparkan senarai tugasan dan membenarkan pengguna memadamkan tugasan. Dalam komponen ini, kami boleh menggunakan $store untuk mengakses keadaan dan mutasi dalam stor dan mencetuskan mutasi removeTask kami untuk mengalih keluar tugas daripada kedai. Kodnya adalah seperti berikut:

<template>
  <ul>
    <li v-for="(task, index) in tasks" :key="index">
      {{ task }}
      <button @click="removeTask(index)">Remove Task</button>
    </li>
  </ul>
</template>

<script>
export default {
  computed: {
    tasks() {
      return this.$store.state.tasks
    }
  },
  methods: {
    removeTask(index) {
      this.$store.commit('removeTask', index)
    }
  }
}
</script>

Di sini, kami menggunakan atribut yang dikira untuk mendapatkan status tatasusunan tugas dalam stor. Kami juga menggunakan arahan v-for dalam templat untuk memaparkan setiap tugasan dan menambah butang padam selepas setiap tugasan. Apabila pengguna mengklik butang padam, kami memanggil kaedah removeTask dan lulus indeks tugasan sebagai parameter kepada kaedah $store.commit. Ini mencetuskan mutasi removeTask yang kami takrifkan sebelum ini, yang mengalih keluar tugas daripada kedai.

Kesimpulan

Dalam artikel ini, kami mempelajari cara menggunakan Vuex untuk mengurus keadaan global aplikasi kami dan menunjukkan cara menggunakannya dalam projek Vue melalui aplikasi Senarai Tugasan itu. Dalam projek Vue, menggunakan Vuex membolehkan kami mengurus dan berkongsi keadaan dengan lebih mudah, dan menjadikan kod kami lebih modular dan boleh dibaca. Jika anda juga sedang membangunkan projek Vue, anda mungkin ingin mempertimbangkan untuk menggunakan Vuex untuk mengurus keadaan permohonan anda dengan lebih baik!

Atas ialah kandungan terperinci Perkongsian praktikal tentang menggunakan vuex untuk mengurus status global dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Pilihan Rangka Kerja: Apa yang mendorong keputusan Netflix?Pilihan Rangka Kerja: Apa yang mendorong keputusan Netflix?Apr 13, 2025 am 12:05 AM

Netflix terutamanya menganggap prestasi, skalabiliti, kecekapan pembangunan, ekosistem, hutang teknikal dan kos penyelenggaraan dalam pemilihan rangka kerja. 1. Prestasi dan Skalabiliti: Java dan Springboot dipilih untuk memproses data besar -besaran dan permintaan serentak yang tinggi. 2. Kecekapan Pembangunan dan Ekosistem: Gunakan React untuk meningkatkan kecekapan pembangunan front-end dan menggunakan ekosistemnya yang kaya. 3. Hutang Teknikal dan Penyelenggaraan Kos: Pilih Node.js untuk membina mikroservis untuk mengurangkan kos penyelenggaraan dan hutang teknikal.

React, Vue, dan Masa Depan Frontend NetflixReact, Vue, dan Masa Depan Frontend NetflixApr 12, 2025 am 12:12 AM

Netflix terutamanya menggunakan React sebagai rangka kerja front-end, ditambah dengan VUE untuk fungsi tertentu. 1) Komponen React dan DOM maya meningkatkan prestasi dan kecekapan pembangunan aplikasi Netflix. 2) VUE digunakan dalam alat dalaman dan projek kecil Netflix, dan fleksibiliti dan kemudahan penggunaannya adalah kunci.

Vue.js di frontend: aplikasi dan contoh dunia nyataVue.js di frontend: aplikasi dan contoh dunia nyataApr 11, 2025 am 12:12 AM

Vue.js adalah rangka kerja JavaScript yang progresif yang sesuai untuk membina antara muka pengguna yang kompleks. 1) Konsep terasnya termasuk data responsif, komponen dan DOM maya. 2) Dalam aplikasi praktikal, ia boleh ditunjukkan dengan membina aplikasi todo dan mengintegrasikan vuerouter. 3) Apabila debugging, disyorkan untuk menggunakan Vuedevtools dan Console.log. 4) Pengoptimuman prestasi boleh dicapai melalui V-IF/V-Show, senarai pengoptimuman rendering, pemuatan asynchronous komponen, dll.

Vue.js dan bertindak balas: Memahami perbezaan utamaVue.js dan bertindak balas: Memahami perbezaan utamaApr 10, 2025 am 09:26 AM

Vue.js sesuai untuk projek kecil dan sederhana, sementara React lebih sesuai untuk aplikasi besar dan kompleks. 1. Sistem responsif vue.js secara automatik mengemas kini DOM melalui pengesanan ketergantungan, menjadikannya mudah untuk menguruskan perubahan data. 2. Leact mengamalkan aliran data sehala, dan data mengalir dari komponen induk ke komponen kanak-kanak, menyediakan aliran data yang jelas dan struktur yang mudah dibuang.

Vue.js vs React: Pertimbangan khusus projekVue.js vs React: Pertimbangan khusus projekApr 09, 2025 am 12:01 AM

Vue.js sesuai untuk projek kecil dan sederhana dan lelaran yang cepat, sementara React sesuai untuk aplikasi besar dan kompleks. 1) Vue.js mudah digunakan dan sesuai untuk situasi di mana pasukan tidak mencukupi atau skala projek kecil. 2) React mempunyai ekosistem yang lebih kaya dan sesuai untuk projek dengan prestasi tinggi dan keperluan fungsional yang kompleks.

Cara melompat tag ke vueCara melompat tag ke vueApr 08, 2025 am 09:24 AM

Kaedah untuk melaksanakan lompatan tag dalam Vue termasuk: menggunakan tag dalam templat HTML untuk menentukan atribut HREF. Gunakan komponen router-link routing VUE. Gunakan ini. $ Router.push () kaedah dalam JavaScript. Parameter boleh dilalui melalui parameter pertanyaan dan laluan dikonfigurasikan dalam pilihan penghala untuk lompatan dinamik.

Cara melaksanakan lompat komponen untuk vueCara melaksanakan lompat komponen untuk vueApr 08, 2025 am 09:21 AM

Terdapat kaedah berikut untuk melaksanakan lompat komponen di Vue: Gunakan Router-Link dan & lt; Router-View & GT; Komponen untuk melaksanakan lompat hiperpautan, dan tentukan: untuk atribut sebagai laluan sasaran. Gunakan & lt; router-view & gt; Komponen secara langsung untuk memaparkan komponen yang dijalankan yang sedang dialihkan. Gunakan kaedah router.push () dan router.replace () untuk navigasi programatik. Bekas menjimatkan sejarah dan yang kedua menggantikan laluan semasa tanpa meninggalkan rekod.

Cara melompat ke Div VueCara melompat ke Div VueApr 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

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 laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),