1 什么是mvvm模式
mvvm是Model-View-ViewModel缩写,是一种设计思想,model代表数据模型,可以在model中定义数据修改和操作的业务逻辑,view是相当于展示,viewmodel是同步view和model
在mvvm架构下,view和model之间没有直接的联系,是通过viewmodel进行交互,model也是如此,所以view和model数据变化会相互反应
viewmodel通过双向数据绑定把view和model连接了起来,所以开发者只需关注业务逻辑,不需要手动操作dom,不需要关注数据状态的同步问题
2 组件之间的传值
父组件和子组件的传值,父组件通过标签上面定义传值,子组件通过props方法接收数据
子组件向父组件传递数据,子组件通过$emit方法传递参数
3 路由跳转
声明式 <router-link to="" ></router-link>
编程式router.push('index')
4 vue配合webpack实现按需加载
初始状态 : import home from ' '
按需加载 const home=r=>require.ensure([],())=>r(require()))
5 vuex是什么,怎么使用,使用场景
vue在框架中进行状态管理,在main.js中引入store,注入。新建一个目录sotre,...export
应用场景:单页应用组件状态 音乐播放 登录状态 加入购物车
6 vuex的几种属性
state getter mutation action
state
a. vuex就是一个仓库,仓库里面放了很多对象, state是数据源存放地,对应于vue对象里面的data
b. state里面存放的数据式响应式的,vue组件从store中读取数据,如果store中的数据发生改变,以来这个数据的 组件也会发生更新
c. 通过mapState把全局的state和getters映射到当前组件的computed计算属性中
getter
a. 可以对state进行计算操作,就是store的计算属性
b. 虽然在组件内可以使用计算属性,但是getters可以多组间共用
c. 如果一个状态只在一个组件内使用,可以不用getters
mutation
action类似mutation,action提交的是mutation,而不是直接变更状态,action可以包含任意异步操作
不用vuex产生的问题
可维护性下降,修改数据需要维护多个地方
可读性下降,组件中的数据,看不出是从哪里来的
增加耦合,大量上传派发,耦合性大大增加
7 v-show和v-if指令的共同点和不同点
v-show指令是通过修改元素的display的css属性让其显示或者隐藏
v-if指令是直接销毁和重建dom达到让元素显示和隐藏的效果
8 如何让css只在当前组件中起作用
将当前的<style>修改为<style scoped>
9 <keep-alive></keep-alive>的作用
包裹动态组件,会缓存不活动的组件示例,主要用于保留组件状态或者避免重新渲染
10 在vue中使用插件的步骤
import ... from ...
vue.use(plugin)使用插件,也可以传入一个选项对象vue.use(myplugin,{option:true})
11 vue中常用的生命周期钩子函数
created 实例已经创建完成之后调用,已经完成数据观测,属性和方法的运算,
watch/event事件回调,然而挂载阶段还没开始,$el目前还不可见
mounted el 替换,并挂载到实例上去之后调用该钩子
12 vue生命周期的作用
在生命周期中有多个事件钩子,让我们控制整个vue实例的过程形成好的逻辑
13 简述每个生命周期适合哪些场景
beforecreate 可以加上loading事件,在加载实例时出发
created初始化完成时的事件写在这里,如在这里结束loading事件,异步请求也适合在这里调用
mounted挂载元素,获取到dom节点
updated如果对数据统一处理,在这里写上相应函数
beforeDestroy 可以做一个确认停止事件的确认框
nextTick 更新数据后立即操作dom
14 4种vue中的指令和用法
v-if判断是否隐藏 v-for数据循环 v-bind:class绑定一个属性 v-model双向绑定
15 vue-loader是什么 有什么用途
解析vue的一个加载器
16 为什么使用key
当有相同标签名的元素切换时,需要通过key特性设置唯一的值来标记以让vue区分它们,否则vue为了效率只会替换相同标签内部的内容
27 vnode是什么 虚拟dom是什么
vue在页面上渲染的节点,及其子节点称为虚拟节点,简写为vnode,
虚拟dom是由vue组件树建立起来的整个vnode树的的称呼