15道Vue常见面试题解析

夜婷大大_9534

夜婷大大_9534

2020-06-22

2504人浏览

原创

1.vue优点?

答:

  • 轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十 kb ;

  • 简单易学:国人开发,中文文档,不存在语言障碍 ,易于理解和学习;

  • 双向数据绑定:保留了 angular 的特点,在数据操作方面更为简单;

  • 组件化:保留了 react 的优点,实现了 html 的封装和重用,在构建单页面应用方面有着独特的优势;

  • 视图,数据,结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作;

  • 虚拟DOM:dom 操作是非常耗费性能的, 不再使用原生的 dom 操作节点,极大解放 dom 操作,但具体操作的还是 dom 不过是换了另一种方式;

  • 运行速度更快:相比较于 react 而言,同样是操作虚拟 dom ,就性能而言, vue 存在很大的优势。

2.vue父组件向子组件传递数据?

答:通过 props

3.子组件像父组件传递事件?

答:$emit 方法

4.v-show 和 v-if指令的共同点和不同点?

答:

共同点: 都能控制元素的显示和隐藏;

不同点: 实现本质方法不同,v-show 本质就是通过控制 css 中的 display 设置为 none,控制隐藏,只会编译一次;v-if 是动态的向 DOM 树内添加或者删除 DOM 元素,若初始值为 false ,就不会编译了。而且 v-if 不停的销毁和创建比较消耗性能。总结:如果要频繁切换某节点,使用 v-show (切换开销比较小,初始开销较大)。如果不需要频繁切换某节点使用 v-if(初始渲染开销较小,切换开销比较大)。

如果你以上的都会了, 说明你 60分及格了,另外现在vue3.0出来了,找工作一般都会问到,如果你还没学好。可以去小编前端扣扣裙 519293536 交流学习,里面有很多大佬,还有前端新技术资料分享!

5. 如何让CSS只在当前组件中起作用?

答:在组件中的 style 前面加上 scoped

6. 的作用是什么?

答: keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。

7.如何获取dom?

答:ref="domName" 用法:this.$refs.domName

8.说出几种vue当中的指令和它的用法?

答:v-model 双向数据绑定;

蓝湖代码转vue2.0+element-ui
蓝湖代码转vue2.0+element-ui

将静态 Vue 页面(index.vue)改造为动态页面(Custom.vue);稿源仅限 index.vue、其引用的 CSS 与资源路径,禁止参考仓库内其他文件。Invoke when user wants to transform a static Vue page into a dynamic data-driven page with Element UI components.

下载

v-for 循环;

v-if v-show 显示与隐藏;

v-on 事件;v-once : 只绑定一次。

9. vue-loader是什么?使用它的用途有哪些?

答:vue 文件的一个加载器,将 template/js/style 转换成 js 模块。

用途:js 可以写 es6 、 style样式可以 scss 或 less 、 template 可以加 jade等

10.为什么使用key?

答:需要使用 key 来给每个节点做一个唯一标识, Diff 算法就可以正确的识别此节点。作用主要是为了高效的更新虚拟 DOM。

11.axios及安装?

答:请求后台资源的模块。npm install axios —save 装好, js中使用 import 进来,然后 .get 或 .post 。返回在 .then 函数中如果成功,失败则是在 .catch 函数中。

12.v-modal的使用

答:v-model 用于表单数据的双向绑定,其实它就是一个语法糖,这个背后就做了两个操作:v-bind 绑定一个 value 属性;v-on 指令给当前元素绑定 input 事件。

13.请说出vue.cli项目中src目录每个文件夹和文件的用法?

答:assets 文件夹是放静态资源;components 是放组件;router 是定义路由相关的配置; app.vue 是一个应用主组件;main.js 是入口文件。

14.分别简述computed和watch的使用场景

答:

  • computed : 当一个属性受多个属性影响的时候就需要用到 computed ,最典型的栗子:购物车商品结算的时候

  • watch : 当一条数据影响多条数据的时候就需要用 watch ,栗子:搜索数据

15.v-on可以监听多个方法吗?

答:可以,栗子:。

推荐教程:《JS教程》

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vue

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.12

2967

5

es6新特性
es6新特性

es6新特性有:1、块级作用域变量;2、箭头函数;3、模板字符串;4、解构赋值;5、默认参数;6、 扩展运算符;7、 类和继承;8、Promise。本专题为大家提供es6新特性的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.17

285

5

es6新特性有哪些
es6新特性有哪些

es6的新特性有:1、块级作用域;2、箭头函数;3、解构赋值;4、默认参数;5、扩展运算符;6、模板字符串;7、类和模块;8、迭代器和生成器;9、Promise对象;10、模块化导入和导出等等。本专题为大家提供es6新特性的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.04

406

5

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.24

375

12

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4616

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1395

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1818

5

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

2023.08.17

10163

11

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

2023.09.01

1000

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app快速上手
uni-app快速上手

共0课时 | 0人学习

Vue 教程
Vue 教程

共42课时 | 17.3万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 2.5万人学习