你可以把vuex当作是一种公共仓库,用来存放一些需要共享的数据,需要那数据的自己去仓库拿就是。这样可以实现非父子或者非私有组件之间的传值。
一. (面试题)data,prop,vuex 之间的区别:
data是用来存放私有数据的,props是接收父组件传过来的值的,而vuex是用来存放一些公共数据的。
二.来说说vuex的简单使用
- 引入包 用script标签直接引入或者npm yarn 安装 npm方式 npm install vuex -S
- (用script标签引入的可以省掉这一步)导入如:
别忘了需要先导入vue - 创建一仓库:
4. 把该仓库注册到vue实例上:
三.对 state mutations getters 简单描述
1.公共数据都是放在state中,虽可以通**this.$store.state.数据* * 能获取或修改数据,但不推荐这样做,修改请用mutations 进行修改,获取最好使用getters。
2.mutation里定义要修改state里数据的函数,当别的组件要修改state中数据时,调用定义好的函数即可(在定义好的函数里写你的修改逻辑),使用 this. $store.commit(‘掉的函数名’,‘唯一参数’) 进行调用。
3.getters 是在组件时在获取state数据时,对state数据进行包装 如:
用this. $store.getters.getState.函数名 进行调用如下:
上面this 在控制的vue内可省