美文网首页
VUE生命周期面试题

VUE生命周期面试题

作者: 九四年的风 | 来源:发表于2018-07-07 21:40 被阅读211次

    什么是vue生命周期?

    Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。

    vue生命周期的作用是什么?

    它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑。

    vue生命周期总共有几个阶段?

    它可以总共分为8个阶段:创建前/后, 载入前/后,更新前/后,销毁前/销毁后

    阶段 介绍
    beforeCreate----创建前 组件实例更被创建,组件属性计算之前,数据对象data都为undefined,未初始化。
    created----创建后 组件实例创建完成,属性已经绑定,数据对象data已存在,但dom未生成,$el未存在
    beforeMount---挂载前 vue实例的$el和data都已初始化,挂载之前为虚拟的dom节点,data.message未替换
    mounted-----挂载后 vue实例挂载完成,data.message成功渲染。
    beforeUpdate----更新前 当data变化时,会触发beforeUpdate方法
    updated----更新后 当data变化时,会触发updated方法
    beforeDestory---销毁前 组件销毁之前调用
    destoryed---销毁后 组件销毁之后调用,对data的改变不会再触发周期函数,vue实例已解除事件监听和dom绑定,但dom结构依然存在

    第一次页面加载会触发哪几个钩子?

    第一次页面加载时会触发 beforeCreate, created, beforeMount, mounted 这几个钩子

    DOM 渲染在 哪个周期中就已经完成?

    DOM 渲染在 mounted 中就已经完成了

    简单描述每个周期具体适合哪些场景?

    生命周期钩子的一些使用方法: beforecreate : 可以在这加个loading事件,在加载实例时触发 created : 初始化完成时的事件写在这里,如在这结束loading事件,异步请求也适宜在这里调用 mounted : 挂载元素,获取到DOM节点 updated : 如果对数据统一处理,在这里写上相应函数 beforeDestroy : 可以做一个确认停止事件的确认框 nextTick : 更新数据后立即操作dom

    相关文章

      网友评论

          本文标题:VUE生命周期面试题

          本文链接:https://www.haomeiwen.com/subject/wotnuftx.html