vue 面试题
1.v-show 与 v-if 的区别
它们俩个都是vue提供用来判断组件似否页面渲染的指令,
区别:v-show 是对css 中 display 属性进行操作,
v-if 则是真正的对组件进行销毁和重建
2.Class 与 style 如何动态绑定
有两种 :
1.通过对象
<div :class="{active:isactive}" :style={color:red}></div>
data:{isactive:true(有)/false(没有), red:'red'}
2.通过数组
<div :class="[active,tel]" :class=[color,red]></div>
data:{active:'active', tel:'tel' red:{fontsize:'12px' } color:{color:'red'}}
3.computed和watch的区别和运用的场景
区别;computed 计算属性 它自身有一个缓存机制 只有当依赖的数据发生变化 才会 触发
watch:侦听器 他会时时的监视这数据
运用场景: 当一个数据 依赖一个数据 需要出现联动数据时用 computed ,
当出现异步请求数据 需要时时监听数据的变化的时候 用watch
4.什么是mvvm?
mvvm是一种模型,它分为三大块 1,v (view) 视图 m(model)数据模型 vm(view-model)是使 view(视图)和model(数据)相关联的一个中间件
它可以使页面与数据相关联 使数据驱动视图
5.请你说说对 SPA 单页面的理解, 它的优缺点分别是什么?
单页面开发:可以根据路由来区别, 一个主页面,后面的其他页面有是跟主页面有关联, 其实就是相当于是这个主页面的一个个子页面及孙子页面。
优点:不需要时时的加载页面,会增加用户的体验感。加载一次过后会进行一个页面缓存,所以页面反应速度块。
缺点:不利于SEO 优化。 初次加载页面会慢,所以需要进行按需加载
6.怎样理解 Vue 的单向数据流
Vue 有一个特点,就是它的数据会通过 props 逐层的向下传递(就是逐层向子组件传递), 反之则不行 。
7.Vue 组件间通信有哪几种方式?
有三种 父传子:通过props
子传父:通过 this.$emit() ,通过插槽作用域
非父子:通过事件订阅,Vuex
8.谈谈你对 Keep-alive 的理解
keep-alive 是结合路由使用的 标签 ; 它底层原理是a标签 , 它可以帮助组件进行页面的跳转(也就是路由路径的切换):to="路径' 还有一个属性=‘需要变为的标签’;
9:直接给一个数组项赋值,Vue能检测到变化吗?
不可以
10:谈谈你都 Vue 生命周期的理解
(1)生命周期是什么?
什么东西都有一个出身到灭亡的过程,而这个过程就是生命周期,
(2)各个生命周期钩子函数的作用是什么?
beforeCreated: 实例创建之前
created: 实例创建完成 (可以进行ajax数据请求)
beforeMounte:数据正在绑定;
Mounted:数据绑定完成;(可以进行ajax数据请求)
beforeUbdate:数据正在更新,
Ubtdated:数据更新完成,
beforeDstroy:实例即将销毁, ( 可以清除一些定时器)
dstroyed:实例销毁完成
(3)画生命周期图
浙公网安备 33010602011771号