第1个回答 2022-06-03
Vuex有五个核心概念:
1、state:vuex的基本数据,用来存储变量(后四个属性都是用来操作state里面储存的变量的)。
2、getters:是对state里面的变量进行过滤的。
3、mutation:提交更新数据的方法,必须是同步的(如果需要异步使用action)。
4、action:和mutation的功能大致相同,不同之处在于:
1.Action提交的是mutation,而不是直接变更状态。 也就是action是用来修改mutation并提交的 而 mutation是通过修改state
2.Action可以包含任意异步操作。(一般比较复杂的数据都在action中操作)
3.action先会执行异步操作再去调用mutation,随后才跟新state
5、modules:项目特别复杂的时候,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。
dispatch:是跟action一块用的,含有异步操作,例如向后台提交数据,写法: this.$store.dispatch('mutation的方法名',获取值)
commit:是跟mutation一块用的,同步操作 ,写法: this.$store.commit('mutation的方法名',获取值)