vue生命周期实例小结

 更新时间:2018年08月15日 10:31:42   作者:HarryClaire  
这篇文章主要介绍了vue生命周期,结合实例形式分析了vue.js生命周期相关原理、步骤、函数与操作注意事项,需要的朋友可以参考下

本文实例分析了vue生命周期。分享给大家供大家参考,具体如下:

每个Vue实例都存在完整的生命周期,经历从创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、销毁等一系列过程。如下图所示

钩子函数

vue的完整生命周期可分为三个阶段:初始化阶段、运行阶段和销毁阶段。共存在很多钩子函数,他们在vue生命周期不同的阶段进行操作,列举如下:

  • beforeCreate
  • created
  • beforeMount
  • mounted
  • beforeUpdate
  • updated
  • beforeDestroy
  • destroyed

钩子函数说明

  • beforeCreate

通过new Vue() 创建vue实例,vue的生命周期便拉开了序幕,首先会执行beforeCreate钩子函数。此时的vue实例只是一个空壳,还未挂载DOM元素,无法访问到数据和真实的dom,一般不做操作。

  • created

这个时候已经可以使用到数据,也可以更改数据,在这里更改数据不会触发updated函数和不会触发其他钩子函数,一般可以在这里做初始数据的获取。

  • beforeMount

在这个函数中虚拟dom已经创建完成(马上就要渲染),这里也可以更改数据,不会触发updated,在这里可以在渲染前最后一次更改数据的机会,不会触发其他的钩子函数。

  • mounted

在这个函数调用时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已经挂载好了,可以在这里操作真实dom等事情。

  • beforeUpdate

当组件或实例的数据更改之后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染。

  • updated

当更新完成后,执行updated,数据已经更改完成,dom也重新render完成,可以操作更新后的虚拟dom。

  • beforeDestroy

当通过某种方式调用$destroy方法后,立即执行beforeDestroy函数做一些善后工作,如清除计时器、清除非指令绑定的事件等。

  • destroyed

组件的数据绑定、监听等去掉后只剩下dom空壳,此时执行destroyed。当然,也可以在这里完成上述操作。

vue的生命周期:从出生到加载 到 销毁 有一套完整的生命周期过程
能够让我们进行在不同时期去写不同的代码 去做不同的事情

钩子函数:就是不同的生命周期 vue给我们暴露出来的 回调函数

示例:

var vn = new Vue({
el:'.box',
data:{
msg:'<h1>呵呵</h1>'
},
beforeCreate:function() {
alert("实例要创建了,要开始表演了");
},
created:function() {
alert('vue实例已经new出来了,方法和属性还没有编译');
},
beforeMount:function() {
alert('vue实例已经创建完成,马上要执行内部属性和方法的编译');
},
mounted:function() {
alert('对象和属性已经编译完成');
},
beforeUpdate:function() {
alert('数据马上更新,没保存赶紧保存');
},
updated:function() {
alert('数据已经更新');
},
beforeDestroy:function() {
alert('vue实例已经走到尽头了');
},
destroyed:function() {
alert("vue实例永远活在我们心中!!!");
}
})

希望本文所述对大家vue.js程序设计有所帮助。

相关文章

  • vue-cli开发时,关于ajax跨域的解决方法(推荐)

    vue-cli开发时,关于ajax跨域的解决方法(推荐)

    下面小编就为大家分享一篇vue-cli开发时,关于ajax跨域的解决方法(推荐),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • vue实现导出excel的多种方式总结

    vue实现导出excel的多种方式总结

    在Vue中实现导出Excel有多种方式,可以通过前端实现,也可以通过前后端配合实现,这篇文章将为大家详细介绍几种常用的实现方式,需要的可以参考下
    2023-08-08
  • vue移动端实现手指滑动效果

    vue移动端实现手指滑动效果

    这篇文章主要为大家详细介绍了vue移动端实现手指滑动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Vue-router路由判断页面未登录跳转到登录页面的实例

    Vue-router路由判断页面未登录跳转到登录页面的实例

    下面小编就为大家带来一篇Vue-router路由判断页面未登录跳转到登录页面的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 使用Vuex实现一个笔记应用的方法

    使用Vuex实现一个笔记应用的方法

    这篇文章主要介绍了使用Vuex实现一个笔记应用的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • vue项目实战之优雅使用axios

    vue项目实战之优雅使用axios

    axios是一个基于promise的HTTP库,可以用在浏览器和 node.js 中,下面这篇文章主要给大家介绍了关于vue项目实战之优雅使用axios的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • Vue2 Watch监听操作方法

    Vue2 Watch监听操作方法

    这篇文章主要介绍了Vue2 Watch监听,通过watch监听器,我们可以实时监控数据的变化,并且在数据发生改变时进行相应的操作,需要的朋友可以参考下
    2023-12-12
  • vscode中开发运行uniapp项目详细步骤

    vscode中开发运行uniapp项目详细步骤

    VSCode作为一个非常强大的代码编辑器,可以集成众多的插件和工具来优化开发效率,这篇文章主要给大家介绍了关于vscode中开发运行uniapp项目的详细步骤,需要的朋友可以参考下
    2023-07-07
  • vue2使用element-ui,el-table不显示,用npm安装方式

    vue2使用element-ui,el-table不显示,用npm安装方式

    这篇文章主要介绍了vue2使用element-ui,el-table不显示,用npm安装方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 浅谈vue3中effect与computed的亲密关系

    浅谈vue3中effect与computed的亲密关系

    这篇文章主要介绍了浅谈vue3中effect与computed的亲密关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论