1.什么是vue的生命周期?
Vue实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载DOM->渲染、更新->渲染、卸载等一系列过程,我们称这是Vue的生命周期。
2.vue生命周期的作用是什么?
它的生命周期中有多个事件钩子,让我们在控制整个vue实例的过程时更容易形成好的逻辑。
3.Vue生命周期总共有几个阶段?
它可以总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/销毁后
4.第一次页面加载会触发那几个钩子?
第一次页面加载时会触发beforeCreate,created,beforeMount,mounted
5.v-show与v-if的区别
v-show是css切换,v-if是完整的销毁和重新创建
使用频繁切换时用v-show,运行时较少改变时用v-if
V-if=’false’v-if是条件渲染,当false的时候不会渲染
使用v-if的时候,如果值为false,那么页面将不会有这个html标签生成
v-show则是不管值是为true还是false,html元素都会存在,只是css中的display显示或隐藏
v-show 仅仅控制元素的显示方式,将 display 属性在 block 和 none 来回切换;而v-if会控制这个 DOM 节点的存在与否。当我们需要经常切换某个元素的显示/隐藏时,使用v-show会更加节省性能上的开销;当只需要一次显示或隐藏时,使用v-if更加合理。
6.如何让CSS只在当前组件中起作用?
在组件中的style前面加上scoped
7.keep-alive 的作用是什么?
keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。
8.如何获取dom?
ref=“domName” 用法:this.$refs.domName
9.说出几种vue当中的指令和它的用法?
①v-model双向数据绑定;
②v-for循环;
③v-if 、v-show 显示与隐藏;
④v-on事件;
⑤v-once: 只绑定一次。
10.分别简述computed和watch的使用场景
computed:
当一个属性受多个属性影响的时候就需要用到computed
最典型的栗子: 购物车商品结算的时候
watch:
当一条数据影响多条数据的时候就需要用watch
栗子:搜索数据
11.async await 是什么?它有哪些作用?
async await 是es7里面的新语法、它的作用就是 async 用于申明一个 function 是异步的,而 await 用
于等待一个异步方法执行完成。它可以很好的替代promise 中的then
async 函数返回一个 Promise 对象,可以使用 then 方法添加回调函数。当函数执行的时候,一旦遇
到 await 就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。
12.常用的数组方法有哪些?
concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined 。
findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
includes()方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,
否则返回false。
indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
(通常用它判断数组中有没有这个元素)
join()方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。
如果数组只有一个项目,那么将返回该项目而不使用分隔符。
pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
push()方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
shift()方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内
容。此方法会改变原数组。
由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删
除元素,则返回空数组。
reverse()方法将数组中元素的位置颠倒,并返回该数组。该方法会改变原数组。
sort()方法用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字
符串,然后比较它们的UTF-16代码单元值序列时构建的
13.数组有哪几种循环方式?分别有什么作用?
every()方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
filter()方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
forEach()方法对数组的每个元素执行一次提供的函数。
some()方法测试是否至少有一个元素可以通过被提供的函数方法。该方法返回一个Boolean类型的值。
14.vue等单页面应用及其优缺点
答:优点:Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件,核心是一个响应的数据绑定系统。MVVM、数据驱动、组件化、轻量、简洁、高效、快速、模块友好。
缺点:不支持低版本的浏览器,最低只支持到IE9;不利于SEO的优化(如果要支持SEO,建议通过服务端来进行渲染组件);第一次加载首页耗时相对长一些;不可以使用浏览器的导航按钮需要自行实现前进、后退。