vue項目中使用vuex


1、運行

cnpm i vuex -S

2、導入包

import Vuex from 'vuex'

3、注冊vuex到vue中

Vue.use(vuex)

4、

var  store  = new Vuex.Store({
   state:{
     count: 0         
    },
    munctions: {
       setCount:(state , count)=>{
         state.count  = count
       }
     },
    getters:{
       // 注意:這里的  getters , 只負責 對外提供數據,不負責 修改數據,如果想要修改則去munctions
       optCount:(state) =>{
          return '當前最新的count值是:'+ state.count   
       }    
        // 經過咋們的回顧對比,發現 getter 中的方法,和組件中的過濾器比較類似因為過濾器和getters 都沒有修改原來數據 都是把原來的數據做了一層包裝,提供給 調用者
        //其次 getters 也和 computed 比較像,只要state 中的數據發什么了變化 如果getters正好也引用了這個數據,那么就會立即觸發 getters 的重新求值 ;
      } 
})      

import App from './App.vue'

const vm new Vue({
  el: '#app',
  render: c=>c(App),
  store //5、將 vuex 創建的 store 掛載到你vm 實例上,只要掛載到了vm 上 任何組件才都能使用store 來讀取數據
})

總結:

1、state中的數據,不能直接修改,如果想要修改,必須通過 munctions

2、如果組件想要直接從  state 上獲取數據:需要 this.$store.state.****

3、如果組件,想要修改數據,必須使用 munctions 提供的方法,需要通過 this.$store.commit('方法名稱,唯一的一個參數')

4、如果 store 中的state 上的數據,在對外提供的時候,需要做一層包裝,那么,推薦使用 getters,如果需要使用 getters ,則用 this.$store.getters.***


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM