vuex 小技巧总结(一张图足以)

198 阅读1分钟

1.webp

1问:vuex是什么?

答案:不用我多说了吧,如果你还不清楚,请查阅vuex官方文档

2问:那我们会在什么时候用vuex呢 ?

答案:简单一点,就是数据需要共享时,再简单一点呢,就是一个数据,好多个组件都要用到的时候,我们就可以使用vuex来帮我们做状态管理了。

3问:有什么好处?

答案:很明显,一个数据只需要写在一个文件里面,然后其他组件都通过相应的api拿到这个数据,我们再也不用一个个重复编码,好处自然是显而易见的咯。

2.webp

这里是一条华丽丽的分割线,你懂得~

如何使用呢?

首先,我们先来看看,在一个项目中,vuex的结构吧,如下:

├── index.html
├── main.js
├── api
│   └── ... # 抽取出API请求
├── components
│   ├── App.vue
│   └── ...
└── store
    ├── index.js          # 我们组装模块并导出 store 的地方
    ├── actions.js        # 根级别的 action
    ├── mutations.js      # 根级别的 mutation
    └── modules
        ├── cart.js       # 购物车模块
        └── products.js   # 产品模块

如果你想直接使用,直接复制下面的代码吧,当然,这样有点难得慢慢找。

state:    this.$store.state.xxx;    &&   this.$store.state.模块名.xxx; 
getters:  this.$store.getters.xxx   &&   this.$store.getters.模块名.xxx;

mutations:  this.$store.commit('mutation名', 参数) && this.$store.commit('模块名/mutation名', 参数);
actions:    this.$store.dispatch('action名', 参数) && this.$store.dispatch('模块名/action名', 参数);

如果你觉得上面那样很麻烦,我们还可以借助vuex提供的辅助函数来拿取数据。

import { mapState,mapGetters, mapMutations, mapActions } from 'vuex';

让我们通过下面这张图来看看它的基本使用吧。

1653451575(1).png

看了上面这张图是不是感觉清晰很多了呢?

好了,今天就到这里了,明天依旧光芒万丈,你值得世间一切美好。 3.webp