文章目录

  • 一、前言
  • 二、注意事项
  • 三、拓展阅读

一、前言

由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用updated钩子函数。

无论是组件本身的数据变更,还是从父组件接收到的 props 或者从vuex里面拿到的数据有变更,都会触发虚拟 DOM 重新渲染和打补丁,并在之后调用 updated

有个值得注意的地方,举例说明:

例子

<template><div><div v-for="(item, index) in list" :key="index">{{item}}</div></div>
</template><script>
export default {data () {return {list: [1, 1, 1]}},created () {setTimeout(_ => {this.list = [2, 2, 2]}, 1000)},updated () {console.log('App.vue finish re-render')}
}
</script>

页面首先渲染了3个1的列表,1s后页面重绘为3个2,并打出’App.vue finish re-render’的日志。

二、注意事项

created生命周期函数的setTimeout函数里的代码改为this.list = [1, 1, 1], 会发现还是打出了’App.vue finish re-render’的日志,虽然list的值没变,但页面仍然重新渲染了,这是因为 this.list 的指针指向发生了改变。

问:什么时候进updated方法?
答:只有事先设置好的data变量如arrData改变并且要在页面重新渲染{{ arrData }}完成之后,才会进updated方法,只改变arrData但不渲染页面是不会进的.

data:{arrData:[1,2,3]
},updated : function(){console.log("1==我会先执行");this.$nextTick(function(){//在下次DOM更新循环结束之后执行这个回调。在修改数据之后立即使用这个方法,获取更新后的DOM.console.log("3==我只能等页面渲染完了才会立即执行");})console.log("2==我虽然在最后但会比$nextTick先执行")}

三、拓展阅读

  • 《Vue进阶(八十三): updated和watch的区别》
  • 《Vue进阶(八十四):vue中Computed 和 Watch的使用和区别》

Vue进阶(八十二):updated 应用详解相关推荐

  1. 八十二、ElasticSearch详解(下)

    上一篇文章我们通过搜索原理来看了一下ElasticSearch,本文我们主要从数据结构.Mapping.文档操作入手看一下ElasticSearch是如何使用的.关注专栏<破茧成蝶--大数据篇& ...

  2. 十二、springboot 详解RestControllerAdvice(ControllerAdvice)

    springboot 详解RestControllerAdvice(ControllerAdvice)拦截异常并统一处理 简介 @Target({ElementType.TYPE}) @Retenti ...

  3. 十二张图详解淘宝架构变迁

    创立之初,为了快速上线,抢占市场,淘宝选择了当时流行的LAMP架构,用PHP作为网站开发语言, Linux作为操作系统,Apache作为Web服务器,MySQL为数据库,用了三个月不到的时间淘宝就上线 ...

  4. Kubernetes(十二)Kubernetes ConfigMapSecret详解

    一.ConfigMap 官方文档 ConfigMap 概念 ConfigMap的功能在k8s1.2版本中引入的,许多应用程序会从配置文件,命令行参数或环境变量中读取配置信息.ConfigMap API ...

  5. pytorch学习笔记(十二):详解 Module 类

    Module 是 pytorch 提供的一个基类,每次我们要 搭建 自己的神经网络的时候都要继承这个类,继承这个类会使得我们 搭建网络的过程变得异常简单. 本文主要关注 Module 类的内部是怎么样 ...

  6. 十二张图详解Redis的数据结构和对象系统

    回顾:大数据平台技术栈 (ps:可点击查看),今天就来说说其中的Redis! 本文来自:张狗蛋的技术之路 Redis是一个开源的 key-value 存储系统,它使用六种底层数据结构构建了包含字符串对 ...

  7. tableau可视化数据分析60讲(十二)-过滤器详解

    前言 关于tableau的高级部分内容,大家可自行订阅专栏 tableau可视化数据分析高级教程 https://blog.csdn.net/wenyusuran/category_9596753.h ...

  8. OpenCV精进之路(十二):详解掩膜mask

    在OpenCV中我们经常会遇到一个名字:Mask(掩膜).很多函数都使用到它,那么这个Mask到底什么呢? 一开始我接触到Mask这个东西时,我还真是一头雾水啊,也对无法理解Mask到底有什么用.经过 ...

  9. 无人机项目跟踪记录七十二———降压电路模块详解

    下图为降压电路模块: 从左向右介绍,MIC5205_3.3为输出是3.3伏的电压调节器件.VIN接入5伏电压,GND管脚接地,EN使能端接5伏电压代表芯片不受其他信号控制,固定输出3.3V电压.本电路 ...

  10. 多线程十二种设计模式详解

    文章目录 前言 多线程程序的评价标准 Single Threaded Execution 模式 Single Threaded Execution 模式简介 Single Threaded Execu ...

最新文章

  1. 用Debug函数实现API函数的跟踪
  2. Vue项目构建设计说明
  3. php读取数组修改内容,php 数组如何修改值
  4. 两个简单的python入门小游戏
  5. django项目日志
  6. SpringBoot详解(一)-快速入门
  7. sql计算留存_SQL基础第七讲:关于用户留存率的计算
  8. C++ floor、ceil、round函数的区别
  9. Linux用户资源限制-ulimit
  10. 三次样条曲线拟合及Matlab/Python实现
  11. class.sitemap.php
  12. Baumer相机BGAPI_ImageHeader Member List
  13. Linux 命令源码 —— cat
  14. 嵌入式C语言(入门必看)
  15. 本科计算机考研统计学,统计学考研考什么科目
  16. jmeter基础之MD5加密
  17. 微信小程序的特点、开发能力及运行机制
  18. docker之win安装gitlab
  19. 批归一化《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》
  20. J2EE 框架结构及核心技术基础面面观

热门文章

  1. C/C++订餐管理系统
  2. imap java 接收_javamail实现邮件接收功能IMap和pop3方式
  3. 人工智能和人类智能的本质区别是什么(五)
  4. 2019复旦大学计算机分数线,复旦大学2019年各省各批次录取分数线和招生专业
  5. 2004-10-30 周六
  6. python实现word文档合并 v2.0
  7. 16.面向对象-基础
  8. xilinx官网下载vivado速度慢的解决方法(适用于所有版本)
  9. 给小白程序员的建议!
  10. 从单体开始的架构演进