前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈谈我对Vue钩子函数、生命周期的理解

谈谈我对Vue钩子函数、生命周期的理解

作者头像
关忆北.
发布2020-10-15 15:50:45
6710
发布2020-10-15 15:50:45
举报
文章被收录于专栏:关忆北.关忆北.

写在前面: Vue因其基于MVVM模式,降低了代码的耦合度,提高视图或者逻辑的重用性,已经成为前端框架的主流,不少同学都在学习Vue,本篇文章将简单谈谈我对Vue较为抽象的一些概念的粗略理解。


生命周期函数就是vue实例在某一个时间点会自动执行的函数。即钩子函数。 所以, 生命周期钩子 = 生命周期函数 = 生命周期事件

关于一些名词解释:

mount:挂载,和el的作用差不多,挂载数据,mount是手动挂载,el是自动挂载。都是为了将实例化后的vue挂载到指定的dom元素中。

如果在实例化vue的时候指定el(代码给定el的值),如:

代码语言:javascript
复制
var vm = new Vue({
    el:'#app'
}))

则该vue实例将会渲染此el到对应的dom中,反之,若没有指定el,则vue实例会处于一种“未挂载”的状态,此时可以通过$mount来手动执行挂载

代码语言:javascript
复制
<template></template>:根元素,渲染模板标签。

华丽的分割线


我在网上找到的一份将Vue生命周期写的很详细的图片(作者:mqingo),本图是在官网的基础上进行的修改 Vue官网图片链接: 点我看官网图

我在网上找到的一份将Vue生命周期写的很详细的图片,本图是在官网的基础上进行的修改
我在网上找到的一份将Vue生命周期写的很详细的图片,本图是在官网的基础上进行的修改
  • beforeCreate: Vue实例被创建,el、methods和data未初始化
  • created:date和methods初始化完成,el 并未初始化 ,说明初始化已经完成。
  • beforeMount:模板编译完成,页面还没有进行挂载,完成了 el 和 data 初始化 ,Vue开始编辑模板,若检测到代码中没有使用el自动挂载,则使用Mount手动挂载。
  • mounted:已经将编译好的模板,挂载到了页面指定的容器中显示 - 运行期间的生命周期函数。

此时,Vue对象实例化已经完成,更新页面时调用beforeUpdate、Update这两个钩子函数。

  • beforeUpdate:状态更新之前执行此函数, 此时 data 中的状态值是最新的,但是界面上显示的 数据还是旧的,因为此时还没有开始重新渲染DOM节点.
  • Update:实例更新完毕之后调用此函数,此时 data 中的状态值 和 界面上显示的数据,都已经完成了更新,页面重新渲染完成。
  • beforeDestory:Vue实例进入销毁阶段,实例销毁前被调用,但是此时实例仍然完全可用。
  • Destory:Vue组件已完成销毁。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档