400 028 6601

建站动态

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

我们一起看看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://www.bluegullmedia.com/article/djocojj.html

其他资讯

让你的专属顾问为你服务

0.0411s