vue面试题整理
1.MVVM框架的原理?
MVVM是Model-View-ViewModel的简写。即模型-视图-视图模型。【模型】指的是后端传递的数据。【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接 view和model的桥梁。MVVM就是数据双向绑定的过程。
2.v-show和v-if的区别?
v-if是真正的条件渲染,它会确保在切换过程中条件块内的事件监听器和子组件的销毁和重建,并且v-if是惰性的,只有条件为true的时候才会渲染条件块。
v-show的元素始终都会被渲染在dom中,并且在切换的时候只是单纯的切换元素css的display显示和隐藏属性。
v-if有更高的切换消耗,v-show有更高的初始渲染消耗,如果在切换较为频繁的情况下,v-show更适合。
3.如何让css在当前组件中使用?
在css样式中,插入<style scoped>
。
4.v-molel是什么,如何使用?
v-model:用于数据双向绑定,一般在input,radio,checbox,select中配合value来使用。
v-model指令常用修饰符:
.lazy -只有在input中失去焦点才会触发change事件的发生。
.number -把字符串转为数字
.trim -过滤字符串中首尾中的空格
5.v-loader有什么用途?
vue-loader是一个webpack的loader;可以将vue文件转换为JS模块;
6.vue组件的data为什么时函数?
vue的组件一般是可以共享的,只有data是私有的。
因为js本身的特性,对象属于引用类型,如果data是对象,当我们修改data时,会影响vue的实例数据。当data为函数的时候,data作为函数的一个返回对象,那么vue的data数据都是独立的,不会相互影响。
7.对keep-alive组件的理解。
keep-alive:主要用于保留组件状态或避免重新渲染。
keep-alive属性:
include:字符串或正则表达式。只有匹配的组件会被缓存。
exclude:字符串或正则表达式。任何匹配的组件都不会被缓存。
8.vue中key值的作用。
key作为数据中的唯一标识符,其作用就是为了高效的渲染元素。
9.vue组件之间的通信有哪些?
父组件 --> 子组件的通信:$
props接收
子组件 --> 父组件的通信:$
emit发射
兄弟之间的通信:bus.$
on总线
10.vue-cli项目中src目录每个文件和文件夹的用法?
assets 存放静态资源(img,html,css)
components 非路由组件
views 路由组件
router 路由配置
stroe vuex
App.vue 第一个组件
main.js 全局文件
小花学习笔记:如果有不对的或者有侵权的地方请多多指教。(此文章部分翻译于学习视频)