[Vue] vuex-interview
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的更多相关文章
- vue+vuex初入门
Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 解决问题: 传参的方法对于多层嵌 ...
- 我的音乐盒子(nodejs7 + koa2 + vue + vuex + vue-router)
你们知道的,nodejs对jser来说,是个好东西,快快的,自从接触nodejs后,总想弄点东西. 这弄个啥了,一天打开百度音乐盒,哟,自己弄一个如何了,好啊好啊. 后台: nodejs 7 + ko ...
- use vue vuex vue-router, not use webpack
vue,vuex,vue-router放在一起能做什么?不用webpack之类的打包工具使用他们是否可行?各位道友在初学vue时是否有这样的困惑.因为现代构建前端项目的一般模式是: 安装webapck ...
- [ABP开源项目]--vue+vuex+vue-router+EF的权限管理系统
好久没写文字了,当然大家也不期待嘛,反正看代码就行了. 演示网站 首先说下这个项目吧. 如标题一样是基于VUE+.NET开发的框架,也是群友一直吼吼吼要一个vue版本的ABP框架. 我们先来看看首页吧 ...
- vue vuex vue-rouert后台项目——权限路由(超详细简单版)
项目地址:vue-simple-template共三个角色:adan barbara carrie 密码全是:123456 adan 拥有 最高权限A 他可以看到 red , yellow 和 blu ...
- 基于Vue + Vuex + Vue-router + Webpack 2.0打造微信界面
一.项目简介 基于Vue + Vuex + Vue-router + Webpack 2.0打造微信界面,实现了微信聊天.搜索.点赞.通讯录(快速导航).个人中心.模拟对话.朋友圈.设置等功能. 二. ...
- vue+vuex+axios+echarts画一个动态更新的中国地图
一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...
- vuejs学习——vue+vuex+vue-router项目搭建(三)
前言 vuejs学习——vue+vuex+vue-router项目搭建(一) vuejs学习——vue+vuex+vue-router项目搭建(二) 为什么用vuex:组件之间的作用域独立,而组件之间 ...
- vuejs学习——vue+vuex+vue-router项目搭建(二)
前言 最近比较忙,所有第二章发布晚了,不好意思各位. vuejs学习——vue+vuex+vue-router项目搭建(一) 中我们搭建好了vue项目,我相信大家已经体验了vue其中的奥妙了,接下来我 ...
- vuejs学习——vue+vuex+vue-router项目搭建(一)
前言 快年底了却有新公司邀请了我,所以打算把上家公司的学到一下技术做一些总结和分享. 现在vuejs都2.0了,我相信也有很多朋友和我一样实际项目还是选择vue1.0的或者给新手一些参考,不管在选择哪 ...
随机推荐
- 用node.js搭建一个静态资源站 html,js,css正确加载 跳转也完美实现!
昨天买了一个服务器想着用来测试一些自己的项目,由于是第一次建站,在tomcat,linux,node.js间想了好久.最终因为node搭建比较方便没那么麻烦就决定用node.js来搭建网站项目. 搭建 ...
- 191112Django fbv和cbv
cbv:类.base.view fbc:函数.base.view from django.contrib import admin from django.urls import path from ...
- golang defer那些坑
defer以下几个特性,使用时需要关注下. 即时的参数传递 调用os.Exit()时defer不会被执行 defer与return的先后顺序 1.即时的参数传递 定义defer时传入的参数,是作为拷贝 ...
- linux新建用户tab无法补全命令
查看passwd cat /ect/passwd 发现root用户的shell是/bin/bash 普通用户的shell是/bin/sh 修改普通用户的为/bin/bash即可
- 利用开源SlidingMenu框架实现左右侧滑菜单的功能
package com.loaderman.slidingmenudemo; import android.os.Bundle; import android.support.v4.app.Fragm ...
- sigmoid function的直观解释
Sigmoid function也叫Logistic function, 在logistic regression中扮演将回归估计值h(x)从 [-inf, inf]映射到[0,1]的角色. 公式为: ...
- go-ethereum开发问题
1. abigen 参考文档(Native DApps: Go bindings to Ethereum contracts) abigen --sol token.sol --pkg token - ...
- Jmeter(十三) JDBC Request
Jmeter中取样器(Sampler)是与服务器进行交互的单元.一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录响应时间信息 有时候工作中我们需要对数据库发起请求或者对数据 ...
- python接口测试之mock(二)
上一篇对mock-server已经做了初步的介绍,今天这里继续接着之前的介绍进行,我们先看之前的mock-server部分,之前编写了一个登录的mock,具体json文件见如下的内容: 小王子1110 ...
- 阶段3 2.Spring_02.程序间耦合_2 编译期依赖
通过maven可以看到这个资源不存在 找到本地仓库,mysql 5.17确实没有jar包 在pom.xml内把版本改成5.16 5.1.6在本地仓库内是完整的版本 运行我们的测试方法 把依赖注释掉 再 ...