首页 > 其他分享 >vue生命周期及钩子函数

vue生命周期及钩子函数

时间:2022-12-01 17:58:29浏览次数:55  
标签:生命周期 渲染 钩子 dom vue data

1.什么是vue生命周期

  vue生命周期指实例从开始创建到销毁的过程,在整个生命周期中,它提供了一系列事件,可以让我们在事件触发时注册js方法。

  在这些方法中,this指向的是vue实例。

2.vue钩子函数

  钩子函数又叫做生命周期函数,它们是vue生命周期中触发的各类事件,大部分分为四个阶段:创建、挂载、更新、销毁,每个阶段对应两个生命周期钩子。

一、创建阶段(create)

  对应beforeCreate和created,简单说就是执行了var vue = new Vue()的操作。

  beforeCreate会在数据读取前触发,此时读取data会提示undefined。

  created会在实例完全创建后被调用,此时data的数据已经写入完成,但是还没有进行dom挂载。

二、挂载阶段(mount)

  对应beforeMount和mounted,此时为dom挂载过程。

  beforemount触发时,页面内容还是vue的占位符,data中的message没有被挂载到dom节点中,此时可以在渲染前最后一次更改数据,不会触发其他钩子函数,一般可以在此处做初始数据的获取。

  mounted在dom挂载之后触发,此时为数据渲染过程,该阶段之后会进入更新阶段。

三、更新阶段(update)

  对应beforeUpdate和update,两个方法的差异在于是否对页面dom进行渲染。

  对data的数据进行修改完成后会触发beforeUpdate,但是还没有对dom进行渲染。

  update就是将数据渲染到页面上。

  正常使用中我们会多次处于更新阶段,但是为了释放内存还需要销毁阶段配合。

四、销毁阶段(destory)

  对应beforeDestory和destory。

  处于beforeDestory时,实例处于销毁状态,但是绑定的各类事件和监听器仍然是可用状态。

  destory是在实例销毁后调用,此时所有东西都无法使用,但是页面上的数据保持为最后一次渲染的数据。

3.vue常用属性

  el属性:获取vue实例相关的dom元素(①)

  data属性:将视图(页面)的数据抽象出来存放到data中

  template属性:模板占位符,用来包裹元素,在v-for循环过程中,template不会渲染到页面上,只会渲染包裹元素(②③)

  methods属性:放置前端业务逻辑,js方法一般都放置在methods中

  render属性:根据配置在页面上显示指定内容,配合createElement使用(④)

  computed属性:根据依赖关系进行缓存计算,当依赖发生变化时才会更新(⑤)

  watch属性:watch:function(new, old){},监听data中数据的变化,第一个参数返回新值,第二个参数返回旧值。

4.内容参考

  仅供自学使用

  vue生命周期 created到beforeMount详解

  vue生命周期和钩子函数详解

  vue中的生命周期及钩子函数

  ①简单说说vue中的el属性

  ②vue进阶:template标签

  ③vue占位符 template

  ④vue渲染函数Render

  ⑤vue中computed详细讲解

标签:生命周期,渲染,钩子,dom,vue,data
From: https://www.cnblogs.com/SNorth6040/p/16942184.html

相关文章

  • vue3使用记录
    1.路由跳转<scriptsetup>import{useRouter}from"vue-router";constrouter=useRouter();functiontoDetail(){router.push({path:"/detail",});......
  • vue3状态流转记录
    刚用vue3的时候觉得习惯了之后非常爽,比vue2比起来要灵活,ref、reactive等新api写几个页面也基本理解用法了。但是逐渐深入后发现遇到一些疑难问题的时候,排查起来非常困难,其......
  • JAVA整合阿里云OSS/VUE上传阿里云OSS
    前言今天码帮帮系统已经整合到上传项目案例的功能了,这里有一些图片资源需要上传,之前做项目对接过七牛云,也有使用过阿里云的视频点播服务,不过这次对接阿里云的OSS确实有点......
  • VUE全局this指向
    前言在很久很久之前我还是个菜鸡的时候,解决报错的时候,不幸看过一种关于this指向的写法,当时没记住,只知道有个这么个模糊的概念,然后今天晚上来了灵感,就写出来了,说到这个thi......
  • vue全局引入scss(mixin)
    前言today,isgoodday,中午吃了个农民工外卖,有点撑,想在床上躺会,TMD,睁开眼天黑了,别说,冬天的上海天黑的挺早,基本上五点半就已经全黑了,住在出租屋的我,却感觉不到上海的灯火通......
  • VUE在线调用阿里Iconfont图标库
    前言多年前我本是个服务端小白,随着行业内卷,硬是被熬成了前端小白。。。开个玩笑,只是个人比较喜欢学习技术罢了!本章将带领大家以另一个高端的方式打开阿里Iconfont图标库,......
  • vue
    VUE笔记介绍Vue CLI 4.5.x才会有Vue3安装vue cli安装nodenode-vnpminstall-g@vue/clinpmi-gvue@vue/clivue-v设置阿里云镜像创建项目npm create ......
  • 将 Vue.js 项目部署至静态网站托管,并开启 Gzip 压缩
    摘要:关于使用Nginx开启静态网站Gzip压缩的教程已经有很多了,但是好像没几个讲怎么在对象存储的静态网站中开启Gzip压缩。其实也不复杂,我们一起来看下~本文分享自华为......
  • VUE小白笔记-初入者
    错误vscode格式化代码报错错误[Error-15:07:33]RequesttextDocument/formattingfailed.Message:RequesttextDocument/formattingfailedwithmessage:Ove......
  • 前端(五)-Vue简单基础
    1、Vue概述Vue(读音/vju/,类似于view)是一套用于构建用户界面的渐进式框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库......