13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

我们一起看看Vuex使用流程是什么样的?

一、使用Vuex的目的

实现多组件状态管理,多个组件之间需要数据共享

二、Vuex 的五大核心

其中state和mutation是必须的,其他可根据需求来加

使用流程

1.创建store实例并且导出 store.js

 
 
 
 
  1. import Vue from 'vue' 
  2. import Vuex from 'vuex' 
  3. Vue.use(Vuex) 
  4. const store = new Vuex.Store({ 
  5.     //声明state 
  6.     state: {  
  7.       userInfo:{ userName:"" } 
  8.     },        
  9.     //声明mutations 
  10.     mutations: { 
  11.       setUserInfo(state,userInfo){   
  12.         state.userInfo = userInfo 
  13.       } 
  14.     },    
  15.     //声明actions 
  16.     actions: { 
  17.       setUserInfo({ commit },userInfo){ 
  18.         commit('setUserInfo',userInfo) 
  19.       } 
  20.     },     
  21.     //声明getters 
  22.     getters:{ 
  23.       userName(state){ 
  24.         return "姓名:"+state.userInfo.userName 
  25.       } 
  26.     } 
  27. }) 
  28. export default store 

2.引入Vuex

 
 
 
 
  1. import Vue from 'vue' 
  2. import App from './App.vue' 
  3. import store from './store' 
  4. new Vue({ 
  5.   render: h => h(App), 
  6.   store 
  7. }).$mount('#app') 

3.组件内使用

使用方式一

 
 
 
 
  1.  
 
 
 
 
  1. export default { 
  2.    methods: { 
  3.       setInfo(){ 
  4.         this.$store.commit('setUserInfo',{ 
  5.           userName:"鬼鬼"  
  6.        })  
  7.      } 
  8.    } 

使用方式二

 
 
 
 
  1.  
 
 
 
 
  1. import { mapState, mapGetters, mapMutations, mapActions } from 'vuex' 
  2. export default { 
  3.   methods: { 
  4.     ...mapActions(['setUserInfo']), 
  5.     // ...mapMutations(["setUserInfo"]), 
  6.     setInfo(){ 
  7.       this.setUserInfo({ 
  8.          userName:"鬼鬼"  
  9.      }) 
  10.   }, 
  11.   computed: { 
  12.     ...mapState({  
  13.         userInfo: state => state.userInfo 
  14.      }), 
  15.     ...mapGetters(['userName']), 
  16.   } 

本文转载自微信公众号「前端人」,作者鬼哥。转载本文请联系前端人公众号。


新闻名称:我们一起看看Vuex使用流程是什么样的?
文章地址:http://cdbrznjsb.com/article/djocojj.html

其他资讯

让你的专属顾问为你服务