vue 知识点———— 生命周期

1.什么是生命周期

Vue实例从创建到销毁的过程,叫生命周期。 从开始创建、初始化数据、编译模版、挂载Dom-渲染、更新-渲染、销毁等过程。

2.生命周期一共有几个阶段

创建前/后, 载入前/后,更新前/后,销毁前/销毁后

3.初始化相关属性

  1. beforeCreate(创建前):在数据观测和初始化事件还未开始。

在实例初始化之后,数据观测和事件配置之前被调用

  1. created(创建后):完成数据观察,属性和方法的运算,初始化事件,$el属性还没有显示出来。

在实例创建完成后被立即调用

  1. beforeMount(载入前):在挂载开始之前被调用,相关的render函数首次被调用。实例已完成编译模板,data里的数据和模板生成html。注意此时还没有挂载到页面上。

在挂载开始之前被调用

  1. mounted(载入后):在el被新创建的vm.$el 替换,并挂在到实例上之后调用。实例已完成:用上面编译好的html内容替换el属性指向的DOM对象。完成模板中的html渲染到页面上。这个过程已和ajax交互。

el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子
DOM在该生命周期中渲染已完成

4.更新

  1. beforeUpdate(更新前):在数据更新之前调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该生命周期中进一步更改状态,不会触发重新渲染过程。

数据更新时调用,发生在虚拟DOM打补丁之前

  1. updated(更新后):在数据更改导致的虚拟DOM重新渲染和打补丁之后调用。组件已更新,所以可以执行依赖于DOM的操作。避免在此期间更改状态,因为会导致更新无限循环,该钩子在服务器端渲染期间不被调用。

由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用该钩子

5.销毁

  1. beforeDestroy(销毁前):在实例销毁之前调用。

实例销毁之前调用

  1. destroyed(销毁后):在实例销毁之后调用。调用后所有的时间监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用。

实例销毁后调用

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

beforeCreate / created / beforeMount / mounted

你可能感兴趣的:(vue,vue.js,前端,javascript)