vuex 详细介绍和使用

简介: vuex 详细介绍和使用

什么是vuex,为什么使用Vuex?

Vuex 是一个专为 Vue.js 应用程序开发的 状态管理模式,类似 edux
为处理复杂的组件通信,所以使用的一种状态管理模式

安装vuex

npm i vuex

如何使用vuex

  • 模板
 import Vue from 'vue'
 import Vuex from 'vuex'
 import about from '@/store/about'
 Vue.use(Vuex)
 export default new Vuex.Store({
    state: {  
    },
    getters: {    
    },
    mutations: {
    },
    actions: {
    },
    modules: {
    }
 })

如何在组件中获取vuex里的内容

this.$store.state.value
使用辅助函数获取:
...mapState(['aa','bb'])

vuex的五种状态?

state:仓库中唯一存放数据的地方。(类似于组件中的data,存放大量的数据,数据相对 getters 固定)
getters:唯一存放派生数据的地方
  派生数据  === 计算属性
mutations:唯一修改state数据的地方。(存放着各种函数,类似于组件中的methods)
actions:唯一处理异步操作的地方。(存放异步的操作)
  ps:处理完成得到结果后,通过commit来调用mutations中的方法
modules:存放着其他子仓库的引用

mutaions和actions里的参数?

mutations里的方法有两个参数,第一个参数默认为state,第二个参数为传递的值
actions里的方法有两个参数,第一个参数默认为整个$store,第二个参数为传递的值

vuex的工作流程

  • 同步操作:
  this.$store.commit('addclick',value)
  mutations(){
    addclick(state,data){
      console.log(state,'可以获取到state里所有的内容')
      console.log(data,'从组件里传递过来的参数')
    }
  }

异步操作:

  this.$store.dispatch('addclick',value)
  mutations(){
    addclicks(state,data){
      console.log(state,'可以获取到state里所有的内容')
      console.log(data,'从组件里传递过来的参数')
    }
  }
  actions(){
    addclick({state,commit},data){
      commit('addclicks',data)
    }
  }

vuex的辅助函数

使用辅助函数必须要进行引入
import {mapState,mapGetters,mapMutations,mapActions} from 'vuex'
computed:{
  ...mapState(['aa','bb'])
  ...mapGetters(['aa','bb'])
}
methods:{
  ...mapMutations(['aa','bb'])
  ...mapActions(['aa','bb'])
}

vuex如何使用子模块

新建一个js子文件:
  export default {
    // 作为子仓库存在时,需要开启命名空间
    namespaced:true,
    state: {},
    getters: {},
    mutations: {},
    actions: {},
    modules: {}
  }
在原来的vuex里
  import aa from '@/store/aa.js'
  export default new Vuex.Store({
    modules:{
      A : aa
    }
  })
在vue组件中引入
  this.$store.state["A/list"];

以上就是vuex的使用方法,如果要学习其他的方法,可以去看我的其他文章

相关文章
|
1月前
|
存储 缓存 JavaScript
一文带你了解vuex和使用(2024年11月)
欢迎来到我的博客,我是自学前端两年半的大一学生,熟悉JavaScript与Vue,正向全栈发展。本篇介绍了Vuex,Vue.js的状态管理模式,包括其核心概念如state、getter、mutation、action及模块化使用,通过集中管理状态确保应用状态的可预测变化。文章详细解析了Vuex的工作原理,特别是与Vue的computed属性和响应式系统的集成,以及如何在实际项目中搭建和使用Vuex。如果你觉得有帮助,欢迎关注,我将持续更新更多技术文章。🎉🎉🎉
37 0
|
4月前
|
资源调度 JavaScript
Vuex适合哪些场景使用
【8月更文挑战第5天】Vuex适合哪些场景使用
81 3
|
6月前
|
存储 JavaScript
|
7月前
|
存储 JavaScript 前端开发
vuex使用
vuex使用
|
存储 资源调度 JavaScript
Vuex详解,详细讲解一下Vuex
Vuex详解,详细讲解一下Vuex
221 0
|
7月前
|
存储 JavaScript
什么是vuex
什么是vuex
55 0
|
存储 JavaScript
关于Vuex的简单实际应用
关于Vuex的简单实际应用
关于Vuex的简单实际应用
|
JavaScript 调度
浅谈Vuex的使用
浅谈Vuex的使用
114 0
浅谈Vuex的使用
|
存储 缓存 资源调度
Vuex
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
Vuex