vuex的使用,vuex辅助函数、muduld的详解(文章下边)

1)什么事Vuex

    Vuex是一个专为Vue.js应用程序开发的状态管理模式---所有页面共享的变量

2)Vuex在什么情况下进行使用

在项目过大的时候采取使用,项目量较小的时候是繁琐冗余的
官网的说
如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。

3)使用步骤

(以vue2.x脚手架为例)

3.1)下载安装:npm install vuex
3.2)在src文件夹下--->创store--->index.js 这个文件就是vuex状态管理

在文件中

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const Store =new Vuex.Store({
state:{},//数据存储
mutations:{},//更改数据
actions:{}//触发,调用更改数据
getters:{//计算(类似computed)可以说是一个桥梁,不用直接访问state
getState(state){returen state.msg}//这样访问这个就相当于访问state中的msg
},
muduld:{newmuduld//这里是模块名字}//模块,每个模块都拥有这五种方法和属性
})
export default Store

在main.js引入

import store from './store/index'//index可省略
在vue实例中进行注册new Vue({//这里 store})

在页.vue组件中使用

获取样式:this.$store.state.count

methods中用在
this.$store.commit("cNum")

//cNum----->mutations定义的函数---》修改state值 cNum(state){state.num++} 同步

this.$store.dispatch("acNum")

//acNum--->actions定义的函数---->函数在触发-》 mutations中定义函数 ---》修改state值 异步(同步不可以操作异步,异步可以操作同步的)

getters在页面.vue的computed计算这里用
computed:{getMsg(){renturn this.$store.getters.getState}}
//这样调用getters中定义的定义

Vuex辅助函数---》

作用,就是使用更加的简洁(少敲代码,少掉点头发),使得在使用的.vue页面中访问storevuex页面更加的方便简介一点
在那个.vue文件用,就在那里引用所要使用的 辅助函数

使用:在.vue

在没有引入vuex辅助函数的时候我们使用是
this.$store.commit("cNum")---》同步

this.$store.dispatch("acNum")异步

this.$store.state.count---》获取变量

this.$store.getters.getState---》计算变量
在引入vuex函数后在访问就变成
引用:import {mapGetters,mapMutations,mapState,mapAction} from 'vuex'
扩展:
其中mapMutations和mapAction
在methods进行扩展出来...mapAction(["one","two"]/{"one":"o1","two":"t2"}) ,
mapGetters和mapState
在computed中进行扩展...mapState(['num']) ...mapGetters(['userInfo'])

调用使用:
this.two()--->mapMutations和mapAction
this.num--->mapGetters和mapState


以...mapGetters(["one","two"]/{"one":"o1","two":"t2"}) 为例详解:

[]/{}中写的是在store中定义好的方法名,所以调用的时候就不再使用this.$store.getters.one而是直接this.one就可以访问到数值了
[]和{} 数组和对象可以,但是数组要 名字一样,对象可以改名,可以不改名字


Vuex模块化(优化)
将实例里的参数,独立出一个模块,然后在引用的index.js
state,
mutations,
actions,
getters, 将以上四个独立模块,
state.js---》let state ={}; export.default state //其余三个相同方法 (各个模块中若是用到彼此,在各个页面中可相互引用)
在store文件夹---》index.js 引入 这四个模块


axios调取接口存到state数据里
在actions调用---》在mutations存值----》存到state
注意:各模块中使用的别的模块的内容,要在模块中进行引用


muduld详解和使用

muduld模块,每个模块都拥有这五种方法和属性state,mutations,actions,getters,muduld
上述中我们只是说有一仓库的时候的使用,
muduld是在大仓库中放入的小仓库
在主index文件中

index的store文件.png

创建引入的这user/order.js中的内容---每个模块可有可没有,但都支持


user.png

在小仓库user/order创建命名空间---使小仓库独立


命名.png

在页面.vue中的使用
引入方式.png

然后使用的方式就和上述中的使用方式一样,访问每个小仓库中的那样使用

调用使用:
this.two()--->mapMutations和mapAction
this.num--->mapGetters和mapState


不使用命名空间的使用------稍微带一嘴


使用0.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341