vuex 面试题 _@jie

1、有哪几种属性
 
有 5 种,分别是 state、getter、mutation、action、module
state => 基本数据 
getters => 从基本数据派生的数据 
mutations => 提交更改数据的方法,同步! 
actions => 像一个装饰器,包裹mutations,使之可以异步。 
modules => 模块化Vuex
 
2、vuex 的 store 特性是什么
 
(1) vuex 就是一个仓库,仓库里放了很多对象。其中 state 就是数据源存放地,对应于一般 vue 对象里面的 data
 
(2) state 里面存放的数据是响应式的,vue 组件从 store 读取数据,若是 store 中的数据发生改变,依赖这相数据的组件也会发生更新
 
(3) 它通过 mapState 把全局的 state 和 getters 映射到当前组件的 computed 计算属性
 
3、 vuex 的 getter 特性是什么
 
(1) getter 可以对 state 进行计算操作,它就是 store 的计算属性
 
(2) 虽然在组件内也可以做计算属性,但是 getters 可以在多给件之间复用
 
(3) 如果一个状态只在一个组件内使用,是可以不用 getters
 
4、vuex 的 mutation 特性是什么
 
action 类似于 muation, 不同在于:action 提交的是 mutation,而不是直接变更状态
 
action 可以包含任意异步操作
 
5、vue 中 ajax 请求代码应该写在组件的methods中还是vuex 的action中
 
如果请求来的数据不是要被其他组件公用,仅仅在请求的组件内使用,就不需要放入 vuex 的 state 里
 
如果被其他地方复用,请将请求放入 action 里,方便复用,并包装成 promise 返回
 
6、不用 vuex 会带来什么问题
 
可维护性会下降,你要修改数据,你得维护3个地方
 
可读性下降,因为一个组件里的数据,你根本就看不出来是从哪里来的
 
增加耦合,大量的上传派发,会让耦合性大大的增加,本来Vue用Component就是为了减少耦合,现在这么用,和组件化的初衷相背
复制代码
  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

桀呐!

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值