美文网首页小知识
2019-06-24 Vuex 面试题

2019-06-24 Vuex 面试题

作者: 追夢的蚂蚁 | 来源:发表于2019-06-24 23:58 被阅读28次

    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就是为了减少耦合,现在这么用,和组件化的初衷相背

    相关文章

      网友评论

        本文标题:2019-06-24 Vuex 面试题

        本文链接:https://www.haomeiwen.com/subject/hkqzqctx.html