Vue探索之路详解vue的生命周期

孩子得了白癜风 http://m.39.net/pf/a_4672100.html

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

在Vue的整个生命周期中,它提供了一系列的事件,可以让我们在事件触发时注册js方法,可以让我们用自己注册的js方法控制整个大局,在这些事件响应方法中的this直接指向的是vue的实例。

Vue.js生命周期这个图很容易理解,如下:

Creation(初始化)

Creation钩子是组件中运行的第一个钩子函数。它们允许您在组件添加到DOM之前执行操作。与其他任何钩子不同,Creation钩子是在服务器端渲染期间运行。

如果您需要在客户端渲染和服务器渲染期间在组件中设置事件,请使用Creation钩子。您将无法访问Creation钩子内的DOM或目标装载元素(this.el)。

beforeCreate

在实例初始化之后,数据观测(dataobserver)和event/watcher事件配置之前被调用。

例如:

created

在created钩子中,您将能够访问被动数据,事件处于活动状态。模板和虚拟DOM尚未安装或渲染。

例如:

Mounting(DOM插入)

Mounting钩子通常是最常用的钩子函数,无论好坏。它们允许您在第一次渲染之前和之后立即访问您的组件。但是,它们不会在服务器端渲染期间运行。

在以下情况下使用:您需要在初始渲染之前或之后立即访问或修改组件的DOM。

不要在以下情况下使用:初始化时需要为组件获取一些数据。使用created(或created+activated或者keep-alive的组件)的时候,特别是在服务器端渲染期间需要这些数据的情况下。

beforeMount

beforeMount钩子在初始渲染发生之前以及模板或渲染函数编译之后运行。很可能你永远不需要使用这个钩子函数。请记住,在进行服务器端呈现时,它不会被调用。

例如:

mounted

在mounted钩子函数中,您将可以完全访问被动组件,模板和呈现的DOM(via.this.el)。mounted是最常用的生命周期钩子。最经常使用的模式是为你的组件获取数据(使用created创建的),并修改DOM,通常集成非Vue库。

例如:

Updating(差异和重新呈现)

只要组件使用的反应属性发生更改,或者其他因素导致重新呈现,就会调用Updating钩子。它们允许您连接到组件的watch-


转载请注明:http://www.aierlanlan.com/tzrz/1805.html