vue生命周期

什么是生命周期呢,就好像是人有生老病死一样,vue组件也有从创建到消亡的一系列过程。这个过程就叫做vue的生命周期

vue的生命周期可分为三大阶段,每个阶段都有对应的函数,叫做钩子,又被成为钩子函数:

挂载(初始化相关属性)

beforeCreate:vue实例刚被创建出来,此时还没有初始化好data与methods属性。

create:data与methods已经初始化,但是还没有编译模板。–【请求数据】

beforeMount:完成了编译,但是还没有挂载到页面中。

mounted:已经将编译好的模板,挂载到页面指定的容器中。
更新(元素或组件的更新操作)-----【非父子通讯】

beforeUpdate:更新之前执行此函数。data中的状态是最新的,但是页面上显示的数据还是旧值。

update:更新完成后执行此函数。data与页面上的数据都是最新的。
销毁(销毁相关属性)

beforeDestroy:准备销毁,但是还没有销毁。实例属性和方法仍然可以使用。

destroyed:已经销毁,实例不可用。

<div id="app"><p>{{msg}}</p><button @click="update">更新</button><button @click="destroy">销毁</button>
</div>
var myVue=new Vue({el:"#app",data:{msg:"aaa",},methods:{update(){this.data = 'bbb'},destroy(){this.$destroy();}},beforeCreate:function(){/*在调用beforeCreate的时候, 仅仅表示Vue实例刚刚被创建出来此时此刻还没有初始化好Vue实例中的数据和方法, 所以此时此刻还不能访问Vue实例中保存的数据和方法* */console.log(this.msg);console.log(this.update);},created:function(){/*在调用created的时候, 是我们最早能够访问Vue实例中保存的数据和方法的地方* */console.log(this.msg);console.log(this.update);},beforeMount:function(){/*在调用beforeMount的时候, 表示Vue已经编译好了最终模板, 但是还没有将最终的模板渲染到界面上* */console.log(document.querySelector("p").innerHTML);console.log(document.querySelector("p").innerText);},mounted:function(){/*在调用mounted的时候, 表示Vue已经完成了模板的渲染, 表示我们已经可以拿到界面上渲染之后的内容了* */console.log(document.querySelector("p").innerHTML);},beforeUpdate:function(){/*在调用beforeUpdate的时候, 表示Vue实例中保存的数据被修改了注意点: 在调用beforeUpdate的时候, 数据已经更新了, 但是界面还没有更新* */console.log("beforeUpdate");console.log(this.msg);console.log(document.querySelector("p").innerHTML);},updated:function(){/*在调用updated的时候, 表示Vue实例中保存的数据被修改了, 并且界面也同步了修改的数据了* */console.log(this.msg);console.log(document.querySelector("p").innerHTML);},beforeDestroy: function(){/*在调用beforeDestroy的时候, 表示当前组件即将被销毁了beforeDestroy函数是我们最后能够访问到组件数据和方法的钩子函数* */console.log("beforeDestroy");console.log(this.msg);console.log(this.say);},destroyed: function(){/*在调用destroyed的时候, 表示当前组件已经被销毁了,不要在这个生命周期方法中再去操作组件中数据和方法* */console.log("destroyed");}
})

created和mounted在什么情况下使用【请注意】

create方法,在页面还未渲染成html前,调用函数,从后端获取数据,在实现对页面的数据进行显示
mounted通常是在一些插件的使用或者组件的使用中进行操作 也就是页面渲染之后执行 通常情况下我们会在没有相应的点击事件,但需要在页面展示过程中去不断调用某一函数情况下使用。

存储的三者之间的区别

cookie:数据存储,跨页面通讯;
数据每次都会发送给服务端;

前后端都可以操作;

cookie的默认是会话级别的有效期,即页面打开到页面关闭;但可以手动设置过期时间;

只要cookie里面有数据,请求的时候都会自动携带;

存储大小:4KB左右

localStorage:存储数据,跨页面通讯;
不会与服务器端通讯,相对与cookie较安全,不用担心数据被截获;

只能有前端操作,后端操作不了;

存储的时效性是永久的,但是可以手动删除;

请求的时候都不会自动携带;

存储大小:5M左右

sessionStorage:存储数据;
不会与服务器端通讯,相对与cookie较安全,不用担心数据被截获;

只能有前端操作,后端操作不了;

仅在当前会话下有效。只要这个浏览器窗口关闭后就会被销毁;

只能有前端操作,后端操作不了;

存储大小:5M左右;

也就是说,sessionStorage与localStorage唯一的不同就是前者的有效期是会话级别的,后者是永久的

vue生命周期(created,mounted具体用于哪些场景)、三种存储的区别相关推荐

  1. Vue生命周期,mounted,destory,beforedestory,updated,

    Vue生命周期教程 Vue 生命周期就是一个 Vue 实例从创建初始化到最终被销毁的过程.Vue 生命周期主要涉及到八个函数,分别为 beforeCreate.created.beforeMount. ...

  2. Vue生命周期钩子函数理解与使用场景

    Vue生命周期钩子函数 每个 Vue 实例在被创建时都要经过一系列的初始化过程--例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行一些叫 ...

  3. vue 加载时掉用mounted_Vue实例中生命周期created和mounted的区别详解

    前言 本文主要跟大家介绍了关于Vue实例中生命周期created和mounted区别的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 生命周期先上图 什么是生命周期 Vue ...

  4. 请描述下你对 Vue 生命周期的理解?在 created 和 mounted 这两个生命周期中请求数据有什么区别呢?

    Vue 生命周期总共可以分为8个阶段:初始化前后,挂载前后,更新前后,销毁前后,以及一些特殊场景的生命周期. 一.基本生命周期 生命周期 描述 beforeCreate 组件实例被创建之初 creat ...

  5. Vue生命周期中mounted、created、methods、computed、watched等的区别

    1.Vue生命周期中mounted和created的区别 https://blog.csdn.net/xdnloveme/article/details/78035065. 2.[Vue] 生命周期, ...

  6. 一文带你吃透Vue生命周期(结合案例通俗易懂)

    文章目录 本篇学习目标 1. vue生命周期 1.0_人的-生命周期 1.1_钩子函数 1.2_初始化阶段 1.3_挂载阶段 1.4_更新阶段 1.5_销毁阶段 2. axios 2.0_axios基 ...

  7. 浅谈vue —— 生命周期

    记于vue生命周期的学习 每个 Vue 实例在被创建时都要经过一系列的初始化过程--例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行一些 ...

  8. vue 生命周期 返回不触发_Vue生命周期activated之返回上一页不重新请求数据操作...

    activated: 英文原意:使活动.触发 在Vue的生命周期函数中,这个好像用的不是特别多?(也许只是在我的工作中这个用的不多,或者说叫几乎不用这个) 一.需求 前不久在项目中有这样一个需求: 在 ...

  9. Vue生命周期 (图解+代码解析)

    <body> <!--1.什么是生命周期方法?和wbpack生命周期方法一样,都是在从生到死的特定阶段调用的方法ps:生命周期钩子 = 生命周期函数 = 生命周期事件2.vue生命周 ...

最新文章

  1. php修改为ajax,php通过ajax实现双击table修改内容
  2. win10系统定位服务器地址,win10系统定位服务器地址
  3. java swing图形界面开发 java.swing简介
  4. 常用API-3(System类、Math类、Arrays类、正则表达式)
  5. 二叉树中任意两个节点的距离
  6. Spark分区器HashPartitioner和RangePartitioner代码详解
  7. mysql批量生成修改表和列注释语句
  8. 2020-09-09
  9. 中心对称又是轴对称的图形_2020广东省考行测备考:图形推理之对称知多少
  10. secure CRT连接华三、华为模拟器
  11. uni-app url 传参有长度限制么?
  12. word中的特殊文本符号
  13. 生成费氏数列 -思维训练for
  14. 工具使用:利用SRS和FFmpeg搭建流媒体直播和点播系统
  15. easyui textbox onblur失效
  16. 夏天宝宝晚上睡觉不踏实怎么办?
  17. echarts 图例翻页+图例自定义样式
  18. Storyboard 之segue用法总结
  19. 2020年软件评测师真题精选
  20. i5四核八线程怎么样_四核八线程和六核六线程cpu相比哪个好?

热门文章

  1. python打开文件报错的解决方法
  2. 【Web/Tools系列】在MacbookPro M1芯片笔记本上安装EMCC
  3. 怎么做好网站的SEO优化
  4. GCM(最大公度量)
  5. Qt之QComboBox 解决下拉列表样式不生效、item文字重叠
  6. CiteSpace安装教程
  7. python多进程和多线程看这一篇就够了
  8. 机器视觉——相机曝光与帧率的关系
  9. WSDL: 描述你的Web服务
  10. 目标检测00-09:mmdetection(Foveabox为例)-源码无死角解析(2)-模型构建总览