首先我们来先记一下vue的生命周期,vue的生命周期是必问题。
1:什么是生命周期函数吗?
生命周期函数又叫做钩子函数,是到了某一个时间点会自动触发,我们说的是vue的钩子函数,从vue实例创建到销毁的过程中到了一定时间节点就会触发。
1.1:生命周期函数有哪些呢?我们可以分成四个阶段来记
创建阶段:
beforeCreate:实例创建之前
实例创建之前,这个时候什么都没有,data和methods 都不能用 也没有this。
created:创建之后
创建之后 ,也是最早的可以使用data和methods的钩子函数,这个时候有this了。
mounted:组件挂载之后
这个时候能拿到dom节点使用。
运行阶段 只要修改data就会触发
beforeUpdate: 更新前
数据变了,视图没变
updated:更新后
数据变了,视图也变了
销毁阶段
beforeDestory:销毁前
组件销毁之前 是最后一个能使用data和methods的钩子函数
destoryde:销毁后
组件销毁后。
除了这八个 还有三个
如果用keep-alive缓存了组件,就会有actived ,deactived这两个钩子函数
activated组件激活
deactivated 组件停用
errorCaptured 子组件出错的时候会触发这个钩子函数。
面试的时候一定要看面试官怎么问,如果他直接问vue的生命周期,那你就可以说前面的8个,如果在继续问呢你再回答,如果直接问的是vue的11个生命周期是什么,那你就要回答全了。
1.2: 在项目开发中,在生命周期里都做过什么功能?
我经常在写项目,写效果的过程中,会在created或者mounted中发送http请求
created和mounted的区别 就是 created比mounted执行的时间更早所有会更多的在created中请求
mounted的特点是可以操作dom节点。
还会用created钩子函数 获取本地存储的数据。
1.3页面第一次加载时父组件生命周期执行的顺序是什么?
页面—beforeCreate
页面—created
页面—beforeMount
组件—beforeCreate
组件—created
组件—beforeMount
组件—mounted
页面—mounted