在 Vue.js 中,如何查找哪些数据更改导致组件重新渲染?

2023-11-22

在 Vue.js 中,当某些数据发生变化时,组件会重新渲染(更新)。有时重新渲染频率太频繁,我想找出哪些数据的更改导致了此重新渲染。如何找出导致重新渲染的更改数据?


Using 深度差异和一个简单的观察程序,您可以轻松找到虚拟机数据的先前副本之间的差异。

new Vue({
  el: "#app",
  data: {
    counter: 0
  },
  mounted() {
    let oldData = JSON.parse(JSON.stringify(this.$data));
    this.$watch(vm => vm.$data, (newData) => {
      console.log(DeepDiff.diff(oldData, newData));
      oldData = JSON.parse(JSON.stringify(newData));
    }, {
      deep: true
    });
  },
  methods: {
    add: function() {
      this.counter++;
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/deep-diff@1/dist/deep-diff.min.js"></script>
<div id="app">
  <button @click="add"> +1 </button> {{ counter }}
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Vue.js 中,如何查找哪些数据更改导致组件重新渲染? 的相关文章

  • 在 Shopify 商店中嵌入 Vue 组件

    在产品页面中 我尝试显示自定义 Vue 组件 为简洁起见 该组件根据给定的产品 ID 显示 Firebase 数据库中的一些信息 我最初尝试将其制作为 Shopify 应用程序 以便我可以访问他们的 API 我实现了 OAuth 并且可以检
  • 将 CKEditor 5 与 nuxtjs 结合使用

    我正在尝试在我的 Nuxtjs 项目中导入 CKEditor 5 的自定义版本 并且我已经尝试了所有可能的方法来正确导入它 但没有一个对我有用 这是其中之一 let ClassicEditor let CKEditor if process
  • Vue警告无法解析组件:ion-icon

    以下的用法如下https ionicons com usage https ionicons com usage the ion icon显示但我收到此警告 Failed to resolve component ion icon 我的步骤
  • vue js中的process.env.BASE_URL是什么?

    当我使用 vue cli 安装 vue 时手动选择预设 我偶然发现了 process env BASE URL 我试图在互联网上找到它 但无济于事 我找不到任何像样的解释 这是代码 const router new VueRouter mo
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • Vue 表单输入与现有值的绑定

    我想将输入与模型绑定 当页面加载时 输入就有一个值 但是当我与模型绑定时 当我使用 null 或空值初始化模型时 它会变空 div div
  • 在 vue.js 模板中包含外部脚本

    我是 Vue js 和 web pack 的新手 所以我决定使用 vue cli webpack 来构建初始应用程序 我试图包含一个外部脚本 例如组件 不需要的模板中 但是 Vue 警告这是不允许的 我的 index html 文件与最初生
  • Vuetify v-select 获取项目索引

    有没有办法通过不使用 v select 中的 v model 来获取项目值 这是我的代码
  • 如何将 Vue 测试库与 Nuxt.js 一起使用?

    我想用Vue 测试库 https www npmjs com package testing library vue in my Nuxt js应用程序 但安装包后立即启动测试会触发此错误 vue cli service 不被识别为内部或外
  • 将数据传递给 vue.js 中的组件

    我正在努力理解如何在 vue js 中的组件之间传递数据 我已经通读了几遍文档并查看了许多 vue 相关问题和教程 但我仍然不明白 为了解决这个问题 我希望能帮助完成一个非常简单的例子 在一个组件中显示用户列表 完成 单击链接 完成 时将用
  • 嵌套组件无法正确重新渲染:VueJs

    我是 Vue 新手 我正在构建这个论坛之类的东西 可以在其中添加嵌套评论 这里有两个组件 发表论坛和评论 PostForum 包含一个输入框和父评论 在每个评论中 我递归地添加了子评论 当我添加评论时 效果很好 但是删除时 它发送ajax请
  • 是否可以从 URL 中包含 Vue.js 组件?

    我们正在设计一个插件架构 并且很好奇是否有一种方法允许通过 URL 将第 3 方插件包含为 Vue 组件 如何从远程 url 导入 vue 文件 例如 我尝试遵循 Alex Jover Morales 的方法来导入异步组件异步 vue js
  • Vue.js继承调用父方法

    是否可以在 Vue js 中使用方法重写 var SomeClassA Vue extend methods someFunction function ClassA some stuff var SomeClassB SomeClassA
  • Vue CLI 3 不会将供应商转换为 ES5

    我们有一个 vue cli 3 项目 它工作得很好并且编译没有问题 事实上 我们必须支持仅支持 ES5 代码的旧浏览器 在项目中我们集成了一些用ES6编写的外部库 reconnecting websocket是一个例子 Problem 使用
  • 如何在 vue.js 中将文件和数据附加到 FormData

    我正在尝试将上传的文件和数据值附加到 vue js 中的 FormData 中 在我的控制器中 只能评估文件请求 data return file categ 在我的方法中 var form new FormData var file th
  • Vue 和 Axios + AWS API 网关和 Lambda - CORS + POST 不起作用

    我正在尝试通过 AWS API Gateway 创建一个 API 测试函数 以及一个通过 Axios 的 Vue 应用程序调用的 Lambda 函数 它应该从输入元素发送姓名和电子邮件 每次我收到此错误时 Access to XMLHttp
  • vuejs 2.0.0 中选择的占位符

    我正在使用创建一个网络应用程序vuejs 2 0 https vuejs org guide forms html 我使用以下代码创建了简单的选择输入
  • 桌子的动态高度(vuetify)

    App vue
  • 类型错误:this.getOptions 不是一个函数

    我在安装时遇到一个奇怪的错误引导程序 https en wikipedia org wiki Bootstrap 28front end framework 29 错误如下 我尝试卸载 less loader 并安装 电子邮件受保护 cdn

随机推荐

  • ASP Net Core:添加与 IdentityUser 的多对多关系

    我需要在asp net core中添加与UserIdentity的多对多关系 即 一个用户可以拥有很多本书 一本书可以有很多用户所有者 我有书本课 public class Book public int Id get set 我扩展了 U
  • collect2:错误:ld 终止于信号 11 [分段错误],核心已转储

    我当时正在使用 GLFW 学习 OpenGL 当时对 makefile 并没有很好的理解 我可以使用 OpenGL 但我决定更多地学习 makefile 经过大量的网站 时间和反复试验后 我想出了这个 EXENAME OpenGL Demo
  • 删除Java中的第一个空格

    如何删除 Java 中的第一个空格 现在我正在使用这个 if str charAt 0 str str replace 只需使用str trim 摆脱所有前导和尾随空格
  • WebClient 使用凭据访问页面

    我正在尝试访问同一域 同一 asp net 应用程序上的网页 该网页受密码保护 触发此调用的网页和正在访问的网页的凭据都是相同的 这是代码 我不知道为什么我总是以登录表单 html 代码结束 using WebClient client n
  • 并行运行指定数量的命令 - 对比 xargs -P、GNU 并行和“moreutils”并行

    我正在尝试在 bash 脚本中在 26 个服务器上运行多个 mongodump 我可以运行 3 个命令 例如 mongodump h staging mongodump h production mongodump h web 同时 当一个
  • Boto connect_xxx方法和连接池

    如果我多次调用 boto connect xxx 其中 xxx 是某个服务 dynamodb s3 等 它是否每次都会创建一个新的连接池 我想做的是这样的 Flask 中的示例 app before request def before r
  • 使用R中的gsub替换数据帧列中的特定值

    我的 data frame 如下 gt df ID Value A 001 DEL 1 7 35 8 1 A 002 INS 4l 5 74 d B 023 0 C 891 2 D 787 8 E 865 DEL 3 65 1s b 我想将
  • JPopupMenu 上的 JComboBox

    我正在尝试使用复合 Swing 组件作为菜单的一部分 除了一个细节之外 一切都运行良好 该组件包含JComboBoxes 每当用户单击其中之一打开其下拉菜单时 下拉菜单将打开 但菜单会消失 是否可以使菜单保持打开状态JComboBox被点击
  • 使用 .NET 远程读取事件日志

    我想读取远程计算机上的事件日志以检查测试期间是否有错误 这是一些相关代码 public bool CheckEventLogs DateTime start EventLog myEventLog new EventLog CustomLo
  • 宽度以百分比设置的“position:fixed”侧边栏?

    I ve successfully used the beautiful Susy grid system to create a responsive layout similiar to the one of WebDesignerWa
  • 如何在点击android中的edittext时显示自定义键盘

    我的应用程序中有一个自定义键盘 问题是如何在单击 edittext 时播放此键盘 我使用 setonfocuschangre 侦听器 现在当 edittext 焦点更改时会出现自定义键盘 但我想在每次单击 edittext 时显示此键盘 我
  • 什么是 NullReferenceException,如何修复它?

    这个问题的答案是社区努力 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我有一些代码 当它执行时 它会抛出一个NullReferenceException 说 你调用的对象是空的 这是什么意思 我该如何修复此错误 原因是什么 底线
  • Rails - 测试装置错误 NoMethodError:nil 的未定义方法“类型”:NilClass

    我在运行使用具有模型之间关联的装置的测试时遇到问题 这是我一运行就收到的错误rake test ERROR test truth SevenPortfolioTest 0 005154775 test truth SevenPortfoli
  • 如何将 MongoDB 文档转换为 JSON 对象

    我正在尝试使用从查找查询返回的 MongoDB 文档作为 NodeJS 中的请求正文发出发布请求 但是在服务器上我收到错误 无效的 JSON 以下是我尝试发布的文档 id ObjectId 5739a6bf3f1b41477570dc89
  • 任意分隔符/转义字符处理的最佳算法是什么?

    令我有点惊讶的是 网上没有任何关于此问题的信息 而且我不断发现这个问题比我想象的要棘手一些 规则如下 您从分隔 转义数据开始将其拆分为数组 分隔符是一个任意字符 转义字符是任意一个字符 分隔符和转义字符都可以出现在数据中 正则表达式很好 但
  • 组织Android SDK的代码文件/XML文件

    有人可以提供一些组织我的项目以使其干净的策略吗 假设我有很多活动 将它们全部放入一个单独的包中 同时将其他类 例如自定义适配器 放入另一个包中以更好地分离 逻辑 是否很好 另外 在为布局创建 XML 文件时 如果我有一些用于某些活动的布局和
  • 修复 CSS 流体网格中的子像素舍入问题

    我正在尝试创建一个流畅的 CSS 网格 它适用于 Firefox 和 IE8 但不适用于 Safari Chrome Opera 其中子像素舍入问题变得可见 http jsfiddle net bJKQ6 2 column float le
  • 为什么 BinaryReader.ReadUInt32() 会反转位模式?

    我正在尝试使用 BinaryReader 类读取二进制文件 并且我需要将其作为 UInt32 块读取 然后进行一些位移等操作 但是 由于某种原因 当我使用 ReadUInt32 方法时 位顺序会颠倒 例如 如果我有一个文件 其中前四个字节的
  • 传递配置参数以在 R 中安装包

    我正在尝试安装一个包R来自 CRAN 存储库 我必须在配置阶段 但我不知道如何做到这一点install packages gt install packages Rmpfr checking mpfr h usability no chec
  • 在 Vue.js 中,如何查找哪些数据更改导致组件重新渲染?

    在 Vue js 中 当某些数据发生变化时 组件会重新渲染 更新 有时重新渲染频率太频繁 我想找出哪些数据的更改导致了此重新渲染 如何找出导致重新渲染的更改数据 Using 深度差异和一个简单的观察程序 您可以轻松找到虚拟机数据的先前副本之