【无标题】

vuex的理解? (必问) 讲解

什么是vuex?使⽤vuex能够解决什么问题?

vuex其实就是vue官⽅给我们提供的⼀个状态管理⼯具,通过vuex我
们可以组件之间数据共享的问题

vuex的五⼤核⼼是什么? vuex⼀共有5⼤核⼼,分别是state,⾥⾯保存的是状态,也可以理解为是数组, 接下来是getters,

他们⽤来获取state⾥⾯的状态,并且可以对state的数据进⾏处理之后在返回,有点类似于vue的计算属性, 接下来还有mutations,
他的作⽤主要是⽤来修改state⾥⾯的数据,不过在mutations⾥⾯只能进⾏同步的操作,还有actions,这个actions也可以去改变
state的状态,不过在actions⾥⾯定义的⽅法可以进⾏异步操作,最后⼀个是modules,如果当我们的项⽬⽐较⼤的时候,那么保存
的状态也会增加,如果都写到index.js⽂件⾥⾯,⽂件的内容就会变得特别臃肿,后期难以维护,所以我们可是使⽤modules进⾏模
块化的处理,将多个状态抽离到对应js⽂件⾥⾯,最后在modules进⾏合并,这样后期就⽅便维护了.

在组件⾥⾯如何调⽤五⼤核⼼的属性和⽅法?

,如果我们要获取state⾥⾯的状态,我们可以通过this. s t o r e . s t a t e 来 进 行 获 取 如 果 要 调 用 g e t t e r s 里 面 的 方 法 我 们 可 以 通 过 t h i s . store.state 来进行获取 如果要调用getters 里面的方法 我们可以通过this. store.stategettersthis.store.getters 来进行调用 如果要调用mutations 里面的方法我们需要使用
this. s t o r e . c o m m i t 来 触 发 , 如 果 调 ⽤ a c t i o n s ⾥ ⾯ 的 ⽅ 法 , 我 们 ⼀ 般 通 过 t h i s . store.commit来触发,如果调⽤actions⾥⾯的⽅法,我们⼀般通过this. store.commit,actions,this.store.dispacth来进⾏触发. 除了这种⽅式以外,我们还可以
通过辅助函数的⽅式来进⾏调⽤和触发(mapState, mapMutation,mapAction, mapGetter)

vuex的执⾏机制是什么?

我在项⽬当中如果要改变state的状态,我们⼀般是在组件⾥⾯调⽤this.$store.dispatch⽅式来触发actions⾥⾯的⽅法,在actions
⾥⾯的⽅法通过commit来调⽤mutations⾥⾯定义的⽅法来改变state,同时这也是vuex的执⾏机制

vuex的弊端是什么?怎么解决?

vuex也有⼀些弊端,⽐如浏览器刷新的时候,vuex的数据会丢失,我们⼀般结合本地存储来解决,当我们在mutations⾥⾯改变
state的时候在通过localStorage或者sessionStorage存储到本地,然后在state的状态的属性值那块写⼀个三元表达式,如果本地存
在数据的话则读取本地存储的数据,否则就赋值为null
在项⽬当中我⼀般使⽤vuex会保存⽤户信息和token以及其他的⼀些状态.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值