1.你有使用过 vuex 的 module 吗?主要是在什么场景下使用?

把状态全部集中在状态树上,非常难以维护。
按模块分成多个 module,状态树延伸多个分支,模块的状态内聚,主枝干放全局共享状态

2.vuex 中 actions 和 mutations 有什么区别?

action

  • actions 是用来触发 mutations 的,它无法直接改变 state
  • 一些对 State 的异步操作可放在 Action 中,并通过在 Action 中 commit Mutation 变更状态
  • Action 可通过 store.dispatch() 方法触发,或者通过 mapActions 辅助函数将 vue 组件的 methods 映射成 store.dispatch() 调用 Mutation

mutation

  • mutations 可以直接修改 state,在 vuex 的严格模式下,Mutaion 是 vuex 中改变 State 的唯一途径
  • Mutation 中只能是同步操作通过 store.commit() 调用 Mutation

尽量通过 Action 或 mapMutation 调用而非直接在组件中通过 this.$store.commit()提交

3.vuex 使用 actions 时不支持多参数传递怎么办?

Object

4.你觉得要是不用 vuex 的话会带来哪些问题?

多层级组件,兄弟组件之前数据共享繁琐

5.vuex 怎么知道 state 是通过 mutation 修改还是外部直接修改的?

通过 $watch 监听 mutation 的 commit 函数中 _committing 是否为 true

6.怎么监听 vuex 数据的变化?

在 mutations 中监视

7.页面刷新后 vuex 的 state 数据丢失怎么解决?

  • localStorage / sessionStorage
  • vuex-persistedstate 的 createPersistedState()方法

8.vuex 的 state、getter、mutation、action、module 特性分别是什么?

  • state, 状态初始化, 并实施观察
  • getter, 获取数据用于 view 或 data 中使用
  • mutation: 内部处理 state 变化
  • action: 处理外部交互
  • module: 模块化以上四个

9.vuex 的 store 有几个属性值?分别讲讲它们的作用是什么?

  • state:存贮公共数据的地方
  • Getters:获取公共数据的地方
  • mutations:放的是同步的操作和 reducer 有点像 通过 store 的 commit 方法来让 mutations 执行
  • action:放的是异步的操作 通过 dispatch 的方法让 action 里面的方法执行
  • context 是 store 的一个副本

Vuex 就是提供一个仓库,store 仓库里面放了很多对象其中 state 即使数据源存放地,

10.使用 vuex 的优势是什么?

vuex 中的所有功能都能够通过其他的方式进行实现,只不过 vuex 对这些方法进行了整合处理,使用起来更加便捷,同时也便于维护.全局状态变量的统一管理,便于进行全局或者局部的状态管理, 便于组件/插件/混合之间的联系.

[Vue] vuex-interview的更多相关文章

  1. vue+vuex初入门

    Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 解决问题: 传参的方法对于多层嵌 ...

  2. 我的音乐盒子(nodejs7 + koa2 + vue + vuex + vue-router)

    你们知道的,nodejs对jser来说,是个好东西,快快的,自从接触nodejs后,总想弄点东西. 这弄个啥了,一天打开百度音乐盒,哟,自己弄一个如何了,好啊好啊. 后台: nodejs 7 + ko ...

  3. use vue vuex vue-router, not use webpack

    vue,vuex,vue-router放在一起能做什么?不用webpack之类的打包工具使用他们是否可行?各位道友在初学vue时是否有这样的困惑.因为现代构建前端项目的一般模式是: 安装webapck ...

  4. [ABP开源项目]--vue+vuex+vue-router+EF的权限管理系统

    好久没写文字了,当然大家也不期待嘛,反正看代码就行了. 演示网站 首先说下这个项目吧. 如标题一样是基于VUE+.NET开发的框架,也是群友一直吼吼吼要一个vue版本的ABP框架. 我们先来看看首页吧 ...

  5. vue vuex vue-rouert后台项目——权限路由(超详细简单版)

    项目地址:vue-simple-template共三个角色:adan barbara carrie 密码全是:123456 adan 拥有 最高权限A 他可以看到 red , yellow 和 blu ...

  6. 基于Vue + Vuex + Vue-router + Webpack 2.0打造微信界面

    一.项目简介 基于Vue + Vuex + Vue-router + Webpack 2.0打造微信界面,实现了微信聊天.搜索.点赞.通讯录(快速导航).个人中心.模拟对话.朋友圈.设置等功能. 二. ...

  7. vue+vuex+axios+echarts画一个动态更新的中国地图

    一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...

  8. vuejs学习——vue+vuex+vue-router项目搭建(三)

    前言 vuejs学习——vue+vuex+vue-router项目搭建(一) vuejs学习——vue+vuex+vue-router项目搭建(二) 为什么用vuex:组件之间的作用域独立,而组件之间 ...

  9. vuejs学习——vue+vuex+vue-router项目搭建(二)

    前言 最近比较忙,所有第二章发布晚了,不好意思各位. vuejs学习——vue+vuex+vue-router项目搭建(一) 中我们搭建好了vue项目,我相信大家已经体验了vue其中的奥妙了,接下来我 ...

  10. vuejs学习——vue+vuex+vue-router项目搭建(一)

    前言 快年底了却有新公司邀请了我,所以打算把上家公司的学到一下技术做一些总结和分享. 现在vuejs都2.0了,我相信也有很多朋友和我一样实际项目还是选择vue1.0的或者给新手一些参考,不管在选择哪 ...

随机推荐

  1. happens-before规则和as-if-serial语义

    JSR-133使用happens-before的概念来阐述操作之间的内存可见性.在JMM中,如果一个操作执行的结果需要对另一个操作可见, 那么这2个操作之间必须要存在happens-before关系. ...

  2. JS框架_(Esign.js)仿信用卡电子签名特效

    百度云盘 传送门 密码:l60w 电子签名特效效果: <!DOCTYPE html> <html> <head lang="en"> <m ...

  3. TreeMap、HashMap、LindedHashMap的区别

    LinkedHashMap可以保证HashMap集合有序.存入的顺序和取出的顺序一致.TreeMap实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器 ...

  4. SpringBoot 使用定时任务动态执行任务

    import com.patient.core.adapter.CorsFilter; import org.mybatis.spring.annotation.MapperScan; import ...

  5. shiro.ini

    # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreeme ...

  6. git 更改远程仓库地址,强行推送远程仓库

    强行推送远程仓库 #把一个现有的工程拷贝一份 #去掉远程仓库关联 git remote rm origin #添加远程仓库关联 git remote add origin http://xxx.git ...

  7. erlang实现排列组合问题

    今天在公司做一个日志分析的任务,在做统计的时候,遇到这样一个问题, 之前已经将数据拆分好,出现这样一张中间表Table,简略写如下: A属性 B属性 C属性 D属性 1       3         ...

  8. kotlin之基本数据类型

    数据类型                       占用字节数 Double 8 Float 4 Long 4 Int 4 Short 2 Byte 1 数据类型之间的转换 toByte():转换为 ...

  9. 阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式

    目前这里能调用是因为,在service的实现类里面,new了一个dao的对象 正常情况下 这里不应该是new一个对象,应该等于null或为空 设置为空侯再运行就会报错 出错的原因是这里为null 需要 ...

  10. 四十八:数据库之alembic常用命令和经典错误的解决办法

    常用命令:1.init:创建一个alembic仓库2.reversion:创建一个新的版本3.--autogenerate:自动将当前模型的修改,生成迁移脚本4.-m:message,可以记录本次迁移 ...