国瑞前端
当前位置: Vue-Cli > Vuex > vuex中的划分模块module

国瑞前端:module模块化作为vuex中的一个组成部分,能够让数据更加的便于管理,接下来跟随我的步伐一起来看看到底是如何操作的,我们来做一个非常简单的例子,相信大家就可以理解了:

首先我们在默认的store.js文件夹中新建立结果模块如下(完整源代码):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const moduleA = {
  state: {
    ceshi: "这里是moduleA"
  },
  mutations: {}

};

const moduleB = {
  state: {
    ceshi2: "这里是moduleB",
  }

};


export default new Vuex.Store({
  modules: {
    a: moduleA,   //访问该模块就是this.$store.state.a
    b: moduleB
  },
  state: {
    count: 0,
    list: [1, 5, 8, 10, 30, 50],
    num: 50
  }
})

在配置路由

1
2
3
4
5
6
7
8
9
10
11
12
13
import Vue from 'vue'
import Router from 'vue-router'
import data from '@/components/data'
Vue.use(Router)

export default new Router({
  //mode: 'history', //没有#模式
  routes: [{
    path: '/',
    name: 'data',
    component: data
  }]
})

然后,我们在data.vue中进行调用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//如果我们引入的模块是A  我们想要获取到moduleA中的ceshi的值,我们可以这样
<template>
  <div>
   {{ceshi}}
  </div>
</template>


  computed: {
    ceshi () {
      return this.$store.state.a.ceshi
    }

//部分冗余代码忽略不计

注意:

如果我们就是在主模块进行取值的,且取得那个值为count,那么写法为:

this.$store.state.count

如果我们是在moduleA中取值,则为

this.$store.state.moduleA.ceshi(前提是moduleA模块必须被引用了)

注意:

这样我们就能在页面放看到“这里是moduleA”这几个字了,别的提交,例如actions,mutations的提交方式都没有变化,如果它们的名称一样,那么它们都会执行,但是这样意义不大,按照规范做是没有问题的

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(19) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

0 条评论关于"vuex中的划分模块module"

最新评论

    暂无留言哦~~

博客简介

国瑞个人博客: https://www.huanggr.cn/,我们关注Web前端开发技术,web前端开发,移动前端开发,前端资讯,同时分享前端资源和工具等,期待你的参与,了解更多..

博主独立研发主题:

广告

广告

广告

广告

精彩评论

广告

站点统计

  • 文章总数: 334 篇
  • 草稿数目: 86 篇
  • 分类数目: 28 个
  • 独立页面: 5 个
  • 评论总数: 108 条
  • 链接总数: 10 个
  • 标签总数: 111 个
  • 注册用户: 176 人
  • 访问总量: 8,677,252 次
  • 最近更新: 2021年7月21日
服务热线:
 

 QQ在线交流

 旺旺在线