更改特定索引而不在 Vuejs 中重新渲染整个数组

2024-03-27

In a Vuejs项目,我有一个array in my 数据对象并将其呈现在视图中v-for指示。现在,如果我更改该数组中的特定索引,Vue 会在视图中重新渲染整个数组。有没有办法在不重新渲染整个数组的情况下查看视图的变化?


这个问题背后的原因是我的数组处理或执行某些操作的其他索引,当整个数组在视图中重新渲染时,这些进程将停止。


在 Vue 1.x 中我们有track-by="$index"跟踪渲染数组中更改的索引。但从 2.x 版本开始,Vue 建议使用:key当我们在视图中渲染数组时v-for intead track-by="$index"。但考虑一下这个打击示例:

In <template> :

<div v-for="(doc, i) in docs" :key="i">
 <h4>{{ doc.status }}</h4>
 <button @click="reject(i)"> Reject </button>
</div>

In <script> :

data: {
 docs: [
  { status: 'pending' },
  { status: 'pending' },
  { status: 'pending' }
 ]
},

methods: {
 reject(index) {
  this.docs[index] = { status: 'rejected' }
 }
}

在这个例子中,当我们更改索引时,虽然数组发生了变化,但我们在视图中看不到任何变化。这是因为我们的组件之前渲染过,我们需要更新它的视图。为此我们需要使用this.$forceUpdate()在我们更新组件的方法中。

reject(index) {
 this.docs[index] = { status: 'rejected' }
 this.$forceUpdate();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改特定索引而不在 Vuejs 中重新渲染整个数组 的相关文章

随机推荐

  • 如何从 JRuby 获取 Java 接口的类型正确的 ruby​​ 实现?

    我正在尝试从 Java 应用程序使用 JRuby 通过 JRuby 1 5 中包含的 JSR233 接口 来加载 Java 接口的 ruby 实现 我的示例实现如下所示 界面 package some package import java
  • SQL 中的连接顺序重要吗?

    不考虑性能 下面的查询 A 和 B 会得到相同的结果吗 C和D怎么样 Scenario 1 A left join select from a left join b on
  • 在skiasharp中加载字体

    如何在 Xamarin 表单的 skiasharp 中使用自定义字体 I tried paint Typeface SKTypeface FromFamilyName CoText Bd and paint Typeface SKTypef
  • 将嵌套列表转换为嵌套字典

    我有这个清单 list1 X1 2 X2 4 Y1 2 Y2 4 我想创建这个字典 dict1 X 1 2 2 4 Y 1 2 2 4 这样我就可以使用dict1 X 1 这输出 2 有人可以帮我吗 我尝试了多种方法但没有成功 您可以使用c
  • C#读取Arduino

    我正在尝试制作一个从 Arduino 读取传出信号的应用程序 但我无法使其在 C 中工作Windows 窗体 http en wikipedia org wiki Windows Forms 仅在控制台中 我的 C Windows 窗体代码
  • 将 url 重写为 url:端口号

    如何重写下一个 url 请求 http mydomain com virtualDirectory default aspx param1 2 param2 car to http mydomain com 8888 virtualDire
  • GraphQL 缺少名称

    刚刚使用 Node 和 C 学习 GraphQL 我正在尝试将 C 示例移植到 Node 因为这将是一个很好的学习练习 因为我不太了解 Node 或 graphql 我有两种类型 帐户和所有者 即帐户所有者 以下内容一切正常 即拥有帐户的字
  • 深层链接导致应用程序的多个实例打开

    这个问题已经在类似的帖子中解决过 但是 我的情况有点不同 我只有一项活动和多个片段 我没有深入链接到特定的片段 我正在启动我的一项活动 然后重定向到不同的片段 我遇到的问题是 当单击深层链接时 应用程序的多个实例正在打开 并且当阻止应用程序
  • 相交矩形的总面积

    用于确定两个相交且可以旋转离开坐标轴的矩形的总面积的算法是什么 以下是您需要做的大致内容 尽可能笼统地表达 但涵盖了所有可能性 计算出交集的类别 IE 相交区域有多少条边 它可以是 0 到 8 之间的任何值 找到交点的所有顶点 这将是矩形边
  • 在播放来自 UIImagePickerController 的视频之前,AVPlayer 不会播放视频

    我遇到了一个问题 我在这里没有看到类似的帖子 我有一个AVPlayerViewController它播放基于我的路径的视频Firebase 数据库 不是存储 该视频按照我想要的方式完美播放 但只有当我观看了在UIImagePickerCon
  • 有没有一种方便的方法将 std::pair 包装为新类型?

    我经常发现自己使用 std pair 将两个相关量的逻辑分组定义为函数参数 返回值 一些示例 行 列 标签 值等 很多时候我真的应该滚动我自己的类 而不是仅仅使用 std pair 当事情开始崩溃时 很容易看出 当代码中充斥着 make p
  • React-native-multiple-select:无法读取未定义的属性“getSelectedItemsExt”

    我正在构建一个应用程序并引用这个link https github com toystars react native multiple select我为我的应用程序实现了相同的代码 但出现错误 无法读取未定义的属性 getSelected
  • 更改 Windows 窗体中的组合框边框颜色

    在我的应用程序中 我添加了组合框 如下图所示 我已将组合框属性设置为 cmbDatefilter FlatStyle System Windows Forms FlatStyle Flat 现在我的问题是如何设置组合框的边框样式 使其看起来
  • 传输到 ClientDataset 时的字符串截断

    我正在使用 Firebird 2 1 DevArt 的 DBExpress 驱动程序和 Delphi 2010 我的一些用于 Delphi 2006 的报告停止工作并生成一条错误消息 指示发生了 算术异常 数字溢出或字符串截断 我的代码此时
  • 如何从 Windows 客户端应用程序使用 openAuth?

    我正在考虑将公共 api 集成到现有的 Windows 窗体应用程序中 该 API 需要 openAuth 身份验证 我见过的所有例子都是基于网络的应用程序 如何在客户端应用程序上使用 openAUth thanks 这不是最容易解释的事情
  • 创建跨容器选项卡索引

    我面临着一个似乎无法解决的小问题 问题是在 WinForm 中我有几个容器 TabControls Panels 控件中的 Tab 键顺序工作正常 当然 但现在客户要求更改 taborder 从第一个容器 当前 tabindex 0 0 1
  • 如何创建所有子类的实例

    我有超过 250 个子类需要由它们组成的实例 我不能坐在那里羞涩地粘贴new Class 250次 是否有使用反射来创建类的实例 创建实例时不需要构造函数 谢谢 我真的不明白你的意思 但我尝试猜测 未测试 public class Test
  • 参数“samples”的预期哈希值(获取数组)

    我一直在关注 Railscasts 的嵌套形式和复杂形式的剧集 在以单个表单创建多个模型的过程中 我能够编辑 更新 删除和创建嵌套在批处理模型中的示例模型的记录 我很长时间以来一直在绞尽脑汁 也尝试四处寻找 但找不到任何正确的解决方案来解决
  • 如何离线存储密码

    虽然这是针对Windows Phone 7的 但我想这个原理是通用的 我想在我的应用程序中设置一个密码保护区 但是 我的应用程序完全离线 因此我必须在手机上存储凭据详细信息 我最初的想法是存储密码和盐的哈希值 这是最好的方法吗 如果是这样
  • 更改特定索引而不在 Vuejs 中重新渲染整个数组

    In a Vuejs项目 我有一个array in my 数据对象并将其呈现在视图中v for指示 现在 如果我更改该数组中的特定索引 Vue 会在视图中重新渲染整个数组 有没有办法在不重新渲染整个数组的情况下查看视图的变化 这个问题背后的