vuex是vue的状态管理 作为数据源存在
state //状态 数据
getters //向外暴露方法 用于访问state
mutations //只有提交mutation修改state才是被允许的
actions //异步提交mutation 从而改变state的状态
modules 模块
store文件夹 的入口函数里 需要引入主要的vue vuex 和其他需要的模块 比如modules模块化的模块
声明 Vue.use(Vuex)
实例化 const store = new Vue.Store({
modules:{
这里需要注意填的是模块化后引入的文件名
}
})
1.state
存放数据
2.getters
对外暴露 了属性 用于访问state
3.mutations
只有mutations修改state才是允许的做法
4.actions
通过异步提交mutations 从而修改state 调接口在这一步
5.modules模块化
可以在store下专门建立一个文件夹 然后 把state、getters、mutations、actions四个专门封装成四个模块 在用一个index.js接受所有模块export default{} 并写好命名空间对外暴露
当然 在此之前我们的store组件页已经在入口函数里面引入了 并且注册 除此之外 每一级需要暴露 和需要引入的模块一定要注意
【注意】
(1)写在实例属性里 [当然也可以写在模板上 但不建议]
1和2在使用时放在computed:{} 调用时直接this.$store.state/getters.property;
3和4使用放在methods:{} 调用时 this.$store.commit/dispatch("property")
(2)辅助函数
四种
mapState、mapGetters、mapMutations、mapActions
使用时要引入 利用对象解构
如 import { mapMutations } from “vuex”
书写位置仍需注意
methods:{
...maoMutations(["getName"])
or
...mapMutations({
"getName" : "user/getName"
})
}
关于vuex的部分学习和注意事项
最新推荐文章于 2021-10-18 15:35:10 发布