Vue生命周期

·  阅读 3354

* 什么是生命周期?


    |- 每个Vue实例在被创建时都要经过一系列的初始化过程:
        开始创建 -> 初始化数据 -> 编译模板 -> 挂载DOM-渲染 -> 更新-渲染 -> 销毁等一系列过程
        通俗而言:Vue实例从创建到销毁的过程
        生命周期分为8个过程:创建前,创建后,挂载前,挂载后,更新前,更新后,销毁前,销毁后。

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


    |- 在Vue实例经过一系列初始化的过程中也会运行一些 叫做 生命周期钩子 的函数, 生命週期裡邊这些事件鉤子,给予了用户在不同阶段可以添加自己代码的机会。

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


**实例运行code**:

  • |- beforeCreate
        实例刚刚被创建,实例初始化之后,数据观测和事件配置之前
  • |- created
        在实例创建完成后被立即调用。
        在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见
  • |- beforeMount (该钩子在服务器端渲染期间不被调用)
        模板编译挂载之前,HTML界面没生成 在挂载开始之前被调用:相关的 render 函数首次被调用。
  • |- activated (该钩子在服务器端渲染期间不被调用)
        keep-alive 组件激活时调用(只有在keep-alive组件才会被调用)
  • |- mounted (该钩子在服务器端渲染期间不被调用)
        模板已经挂载完成 (DOM 渲染在 mounted 中就已经完成了); 该钩子在服务器端渲染期间不被调用。

* 每个周期具体适合哪些场景?


例如:
beforecreate : 譬如常见的加loading事件
created :在这结束loading,还做一些初始化,实现函数自执行
mounted : 在这发起后端请求,拿回数据,配合路由钩子做一些事情
beforeDestory: 你确认删除XX吗? destoryed :当前组件已被删除,清空相关内容

* created和mounted的区别?


beforecreated:el 和 data 并未初始化
created:完成了 data 数据的初始化,el没有 渲染前调用,初始化某些属性值,再渲染
beforeMount:完成了 el 和 data 初始化
mounted :完成挂载 渲染后再调用,初始化页面完成后,再对DOM节点进行操作

* vue获取数据在哪个周期函数?


一般created/beforeMount/mounted 皆可 正常获取在 created 里面即可,如果涉及到需要页面加载完成之后(DOM操作)的就用 mounted
分类:
阅读
标签:
分类:
阅读
标签: