Komunikasi komponen Vue: menggunakan vuex untuk komunikasi pengurusan negeri

王林
Lepaskan: 2023-07-09 10:20:02
asal
1311 orang telah melayarinya

Komunikasi komponen Vue: Menggunakan vuex untuk komunikasi pengurusan negeri

Pengenalan:
Dalam pembangunan Vue, komunikasi antara komponen ialah isu utama. Vue menyediakan pelbagai cara untuk melaksanakan komunikasi komponen, antaranya menggunakan vuex untuk pengurusan negeri adalah cara biasa. Artikel ini akan memperkenalkan cara menggunakan vuex untuk komunikasi komponen dan menyediakan contoh kod untuk membantu pembaca memahami dengan lebih baik.

1. Apa itu vuex
Vuex ialah perpustakaan pengurusan negeri rasmi Vue.js Ia boleh merealisasikan pengurusan keadaan global dan komunikasi antara komponen. Vuex menguruskan keadaan semua komponen aplikasi berdasarkan storan terpusat dan menyediakan satu set API untuk menukar keadaan dan keadaan akses. Menggunakan Vuex menjadikannya lebih mudah untuk berkongsi keadaan antara berbilang komponen, meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod.

2. Konsep asas vuex

  1. Negeri (keadaan): vuex menyimpan semua keadaan dalam satu pepohon keadaan, dan mentakrifkan serta mengakses keadaan melalui negeri.
  2. Getters (Sifat Dikira): Sesetengah keadaan boleh diperoleh daripada keadaan melalui getter, serupa dengan sifat yang dikira dalam tika Vue.
  3. Mutasi (perubahan): Satu-satunya cara untuk mengemas kini keadaan melalui mutasi adalah dengan menyerahkan mutasi. Keadaan ini tidak boleh diubah secara langsung dalam mutasi.
  4. Tindakan: Serahkan mutasi melalui tindakan, yang boleh melakukan operasi tak segerak dan boleh mengandungi sebarang operasi tak segerak.

3. Langkah menggunakan vuex untuk komunikasi komponen

  1. Pasang vuex: Pasang vuex dalam projek, anda boleh menggunakan npm atau benang untuk memasang.
  2. Buat kedai: Buat folder kedai dalam direktori src, buat fail index.js di bawah folder kedai, perkenalkan vuex dan buat objek kedai.

    // index.js
    import Vue from 'vue'
    import Vuex from 'vuex'
    
    Vue.use(Vuex)
    
    export default new Vuex.Store({
      state: {
     count: 0
      },
      mutations: {
     increment(state) {
       state.count++
     }
      },
      actions: {
     increment(context) {
       context.commit('increment')
     }
      },
      getters: {
     doubleCount(state) {
       return state.count * 2
     }
      }
    })
    Salin selepas log masuk
  3. Perkenalkan kedai dalam fail main.js dan lekapkannya pada tika Vue.

    // main.js
    import Vue from 'vue'
    import App from './App.vue'
    import store from './store'
    
    new Vue({
      store,
      render: h => h(App)
    }).$mount('#app')
    Salin selepas log masuk
  4. Gunakan vuex dalam komponen:
  5. Dalam komponen yang perlu menggunakan keadaan, petakan keadaan kepada sifat komponen yang dikira melalui mapState.
  6. Dalam komponen yang perlu menggunakan pengambil, petakan pengambil kepada sifat komponen yang dikira melalui mapGetters.
  7. Dalam komponen yang perlu mengubah suai keadaannya, petakan mutasi kepada kaedah komponen melalui mapMutations.
  8. Dalam komponen yang memerlukan operasi tak segerak, petakan tindakan kepada kaedah komponen melalui mapActions.

4. Contoh Kod
Berikut ialah contoh mudah untuk menunjukkan cara menggunakan vuex untuk komunikasi komponen.

  1. Buat komponen bernama Counter dan paparkan nilai kiraan dan doubleCount dalam templat.

    // Counter.vue
    <template>
      <div>
     <p>Count: {{ count }}</p>
     <p>Double Count: {{ doubleCount }}</p>
     <button @click="increment">Increment</button>
      </div>
    </template>
    
    <script>
    import { mapState, mapGetters, mapMutations } from 'vuex'
    
    export default {
      computed: {
     ...mapState(['count']),
     ...mapGetters(['doubleCount'])
      },
      methods: {
     ...mapMutations(['increment'])
      }
    }
    </script>
    Salin selepas log masuk
  2. Perkenalkan komponen Kaunter dalam App.vue dan gunakannya.

    // App.vue
    <template>
      <div id="app">
     <Counter />
      </div>
    </template>
    
    <script>
    import Counter from './components/Counter.vue'
    
    export default {
      components: {
     Counter
      }
    }
    </script>
    Salin selepas log masuk

Ringkasan:
Menggunakan vuex untuk komunikasi pengurusan negeri boleh memudahkan proses komunikasi antara komponen dan meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Dengan mencipta stor dan menentukan keadaan, mutasi, tindakan, dsb., perkongsian keadaan dan pemindahan maklumat antara komponen yang berbeza boleh dicapai. Melalui langkah dan contoh kod di atas, saya percaya pembaca boleh lebih memahami dan menggunakan vuex untuk komunikasi komponen.

Atas ialah kandungan terperinci Komunikasi komponen Vue: menggunakan vuex untuk komunikasi pengurusan negeri. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!