Vue 面试题总结 本文档总结了 Vue 面试中常见的问题和答案,涵盖了 Vue 基础知识、组件通信、指令、生命周期、性能优化等方面的知识点。 Vue 优点 1. 轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十 kb。 2. 简单易学:国人开发,中文文档,不存在语言障碍,易于理解和学习。 3. 双向数据绑定:保留了 Angular 的特点,在数据操作方面更为简单。 4. 组件化:保留了 React 的优点,实现了 HTML 的封装和重用,在构建单页面应用方面有着独特的优势。 5. 视图、数据、结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作。 6. 虚拟 DOM:DOM 操作是非常耗费性能的,不再使用原生的 DOM 操作节点,极大解放 DOM 操作,但具体操作的还是 DOM,不过是换了另一种方式。 7. 运行速度更快:相比较与 React 而言,同样是操作虚拟 DOM,就性能而言,Vue 存在很大的优势。 Vue 基础知识 1. 父组件向子组件传递数据:通过 Props。 2. 子组件像父组件传递事件:使用 $emit 方法。 3. v-show 和 v-if 指令的共同点和不同点: * 共同点:都能控制元素的显示和隐藏。 * 不同点:实现本质方法不同,v-show 本质就是通过控制 CSS 中的 display 设置为 none,控制隐藏,只会编译一次;v-if 是动态的向 DOM 树内添加或者删除 DOM 元素,若初始值为 false,就不会编译了。 4. 如何让 CSS 只在当前组件中起作用:在组件中的 style 前面加上 scoped。 5. `<keep-alive></keep-alive>` 的作用:使被包含的组件保留状态,或避免重新渲染。 6. 如何获取 DOM:ref="domName" 用法:this.$refs.domName。 Vue 指令 1. v-model:双向数据绑定。 2. v-for:循环。 3. v-if 和 v-show:显示与隐藏。 4. v-on:事件。 5. v-once:只绑定一次。 Vue Loader 1. Vue 文件的一个加载器,将 template/js/style 转换成 js 模块。 2. 用途:js 可以写 ES6、style 样式可以使用 SCSS 或 LESS、template 可以使用 Jade 等。 Vue 高级知识 1. 为什么使用 key:需要使用 key 来给每个节点做一个唯一标识,Diff 算法就可以正确的识别此节点。作用主要是为了高效的更新虚拟 DOM。 2. axios 的使用:请求后台资源的模块,使用 npm install axios --save 安装,然后在 js 中使用 import 进来,然后.get 或.post。 3. v-modal 的使用:v-model 用于表单数据的双向绑定,其实它就是一个语法糖,这个背后就做了两个操作:v-bind 绑定一个 value 属性;v-on 指令给当前元素绑定 input 事件。 Vue 项目结构 1. assets 文件夹:放静态资源。 2. components 文件夹:放组件。 3. router 文件夹:定义路由相关的配置。 4. app.vue 文件:一个应用主组件。 5. main.js 文件:入口文件。 Computed 和 Watch 1. Computed:当一个属性受多个属性影响的时候就需要用到 computed。 2. Watch:当一条数据影响多条数据的时候就需要用 watch。 Vue 高级知识 1. v-on 可以监听多个方法吗?可以,例如:<input type="text" v-on="{ input:onInput,focus:onFocus,blur:onBlur, }"> 2. $nextTick 的使用:当你修改了 data 的值然后马上获取这个 dom 元素的值,是不能获取到更新后的值,你需要使用 $nextTick 这个回调,让修改后的 data 值渲染更新到 dom 元素之后在获取,才能成功。 3. Vue 组件中 data 为什么必须是一个函数?因为 JavaScript 的特性所导致,在 component 中,data 必须以函数的形式存在,不可以是对象。
剩余15页未读,继续阅读
- 粉丝: 10
- 资源: 41
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java-leetcode题解之Cells with Odd Values in a Matrix.java
- java-leetcode题解之Card Flipping Game.java
- java-leetcode题解之Capacity To Ship Packages Within D Days.java
- java-leetcode题解之Can Place Flowers.java
- java-leetcode题解之Can Make Palindrome from Substring.java
- java-leetcode题解之Can I Win.java
- java-leetcode题解之Candy.java
- java-leetcode题解之Bus Routes.java
- java-leetcode题解之Burst Balloons.java
- java-leetcode题解之Broken Calculator.java