前面我们简单的介绍了一下vue的生命周期,今天在深入了解一下生命周期中的mounted。
根据之前的简单分析生命周期来看当我们的页面完完整整的展现在了我们眼前的话,生命周期就已经到了mounted这个周期内部
在这里插入图片描述
当我们代码发生变化时,视图也理应发生变化,就进行了如图所示的循环。

  1. 当我们的代码发生改变时,此时在beforeUpdate阶段
  2. 代码进行改变从而影响视图发生改变,需要一定的时间,那我们什么时候可以获取并打印出我们修改的数据呢?
  3. 首先我们应该想到updated这一个周期中,当我们想到并查看该周期的文档时我们又发现
    在这里插入图片描述

可以看到vue官方文档写的不会保证所有的子组件一起被重绘,建议我们使用vm.$nextTick,那么我们可以转到该方法的文档看一下

在这里插入图片描述

可以看到在vm. n e x t T i c k 这 个 方 法 中 我 们 就 可 以 获 取 到 被 重 绘 的 D O M 。 原 理 无 非 就 是 当 数 据 改 变 时 视 图 不 会 立 即 发 生 改 变 。 需 要 一 定 的 时 间 。 我 们 也 可 以 写 一 个 定 时 器 在 50 毫 秒 获 取 , 只 不 过 该 方 法 的 使 用 有 很 大 的 漏 洞 , 建 议 还 是 使 用 官 方 的 v m . nextTick这个方法中我们就可以获取到被重绘的DOM。 原理无非就是当数据改变时视图不会立即发生改变。需要一定的时间。我们也可以写一个定时器在50毫秒获取,只不过该方法的使用有很大的漏洞,建议还是使用官方的vm. nextTickDOM50使使vm.nextTick

Logo

前往低代码交流专区

更多推荐