1、你有写过vuex中store的插件吗?
答:没有
2、你有使用过vuex的module吗?主要是在什么场景下使用?
答:把状态全部集中在状态树上,非常难以维护。按模块分成多个module,状态树延伸多个分支,模块的状态内聚,主枝干放全局共享状态
3、vuex中actions和mutations有什么区别?
答:mutations可以直接修改state,但只能包含同步操作,同时,只能通过提交commit调用(尽量通过Action或mapMutation调用而非直接在组件中通过this.$store.commit()提交)
actions是用来触发mutations的,它无法直接改变state,它可以包含异步操作,它只能通过store.dispatch触发
4、vuex使用actions时不支持多参数传递怎么办?
答:放在对象里面
5、你觉得vuex有什么缺点?
答:页面刷新时会使state的数据初始化
6、你觉得要是不用vuex的话会带来哪些问题?
答:组件之间传值麻烦复杂
7、vuex怎么知道state是通过mutation修改还是外部直接修改的?
答:通过$watch监听mutation的commit函数中_committing是否为true;严格模式下不允许直接修改
8、请求数据是写在组件的methods中还是在vuex的action中?
答:如果请求的数据是多个组件共享的,为了方便只写一份,就写vuex里面,如果是组件独用的就写在当前组件里面。
9、怎么监听vuex数据的变化?
答:先用计算属性、然后再监听
10、vuex的action和mutation的特性是什么?有什么区别?
答:Action
- 一些对 State 的异步操作可放在 Action 中,并通过在 Action 中 commit Mutation 变更状态
- Action 可通过
store.dispatch()
方法触发,或者通过mapActions
辅助函数将 vue 组件的 methods 映射成store.dispatch()
调用
Mutation
- 在 vuex 的严格模式下,Mutaion 是 vuex 中改变 State 的唯一途径
- Mutation 中只能是同步操作
- 通过
store.commit()
调用 Mutation
11、页面刷新后vuex的state数据丢失怎么解决?
答:vuex-persistedstate的createPersistedState()方法,谁用谁知道
12、vuex的state、getter、mutation、action、module特性分别是什么?
答:state:存放公共数据的地方
getter:获取根据业务场景处理返回的数据
mutations:唯一修改state的方法,修改过程是同步的
action:异步处理,通过分发操作触发mutation
module:将store模块分割,减少代码臃肿
13、vuex的store有几个属性值?分别讲讲它们的作用是什么?
答:
14、你理解的vuex是什么呢?哪些场景会用到?不用会有问题吗?有哪些特性?
答:作为全局变量来用;
15、使用vuex的优势是什么?
答:vue是单向数据流,有一个vuex来建一个”全局仓库“,可以减少很多开发时候的”传参地狱“
16、有用过vuex吗?它主要解决的是什么问题?推荐在哪些场景用?
答:vue是单向数据流,有一个vuex来建一个”全局仓库“,可以减少很多开发时候的”传参地狱“