Vuex详解,一文彻底搞懂Vuex,2024大厂物联网嵌入式开发面试经验

107 阅读2分钟

方法一:

在脚手架 创建项目时勾选vuex的选项系统会自动创建

 方法二:npm  或Yarn安装

npm install vuex@next --save
yarn add vuex@next --save

四.配置

如果采用脚手架方式进行创建,无需任何操作,可以忽略此步骤

新建store文件->index.js,进行如下配置,在main.js中进行引入

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  //数据,相当于data
  state: {
    
  },
  getters: {
    
  },
  //里面定义方法,操作state方发
  mutations: {
    
  },
  // 操作异步操作mutation
  actions: {
    
  },
  modules: {
    
  },
})

 main.js中

 五.核心概念

vuex中一共有五个状态 State  Getter  Mutation   Action   Module  下面进行详细讲解

5.1  State

提供唯一的公共数据源,所有共享的数据统一放到store的state进行储存,相似与data

 在vuex中state中定义数据,可以在任何组件中进行调用

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  //数据,相当于data
  state: {
    name:"张三",
    age:12,
    count:0
  },
})

 调用:

方法一:

在标签中直接使用

 方法二:

this.$store.state.全局数据名称

方法三:

从vuex中按需导入mapstate函数

import { mapState } from "vuex";

注意:当前组件需要的全局数据,映射为当前组件computed属性

 

5.2 Mutation

更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的事件类型 (type)和一个回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数:

在vuex中定义:

其中参数state参数是必须的,也可以自己传递一个参数,如下代码,进行计数器的加减操作,加法操作时可以根据所传递参数大小进行相加,减法操作没有传参每次减一

在组件中使用:

 定义两个按钮进行加减操作

 方法一:

注意:使用commit触发Mutation操作

methods:{
//加法
btn(){
this.$store.commit("addcount",10)     //每次加十
}
//减法
btn1(){
this.$store.commit("reduce") 
}
}

方法二:

使用辅助函数进行操作,具体方法同上

 5.3  Action ——进行异步操作

Action和Mutation相似,一般不用Mutation 异步操作,若要进行异步操作,使用Action

原因:为了方便devtools打个快照存下来,方便管理维护。所以说这个只是规范,而不是逻辑的不允许,只是为了让这个工具能够追踪数据变化而已

在vuex中定义:

将上面的减法操作改为异步操作

 在组件中使用:

img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取