一:生命周期是什么?
vue实例从创建到销毁的过程就是生命周期。即指从创建,初始化数据,编译模版,挂载Dom,渲染,更新,渲染,卸载等一系列过程。
在vue生命周期钩子会自动绑定this上下文到实例中
二:生命周期有哪些?
8个阶段
| 生命周期 | 描述 |
|---|---|
| beforeCreate | 组件实例被创建之初 |
| created | 组件实例已经完全创建 |
| beforeMount | 组件挂载之前 |
| mounted | 组件挂载在实例上面之后 |
| beforeUpdate | 组件数据发生变化,更新之前 |
| updated | 数据更新之后 |
| beforeDestory | 组件销毁之前 |
| destoryed | 组件实例销毁之后 |
| activated | keep-alive缓存的组件激活时被调用 |
| deactived | keep-alive缓存的组件被停用时调用 |
| errorCaptured | 捕获一个来自子孙组件的错误时被调用 |
三:数据请求在created和mounted的区别?
created是在组件实例一旦创建完成的时候立刻调用,这时候页面dom节点并未生成 mounted是在页面节点渲染完成之后立即执行 触发时机上created比mounted更早 两者相同点:都能拿到实例对象的属性和方法 放在mounted中有可能会导致页面闪动,但如果在页面前完成则不会出现这个情况 建议:放在created生命周期里面