强制Vue重新渲染组件的最佳方式(亲测完美解决问题)

2023-10-26

有时候,依赖 Vue 响应方式来更新数据是不够的,相反,我们需要手动重新渲染组件来更新数据。或者,我们可能只想抛开当前的DOM,重新开始。那么,如何让Vue以正确的方式重新呈现组件呢?

强制 Vue 重新渲染组件的最佳方法是在组件上设置:key。当我们需要重新渲染组件时,只需更 key 的值,Vue 就会重新渲染组件。

这是一个非常简单的解决方案。

当然,你可能会对其他方式会更感兴趣:

  • 简单粗暴的方式:重新加载整个页面

  • 不妥的方式:使用 v-if

  • 较好的方法:使用Vue的内置forceUpdate方法

  • 最好的方法:在组件上进行 key 更改

简单粗暴的方式:重新加载整个页面
这相当于每次你想关闭应用程序时都要重新启动你的电脑。

这种方式或许有用,但这是一个非常糟糕的解决方案,不要这样做,我们来看看更好的方法。

更改 key 以强制重新渲染组件

我们可以采用这种将key分配给子组件的策略,但是每次想重新渲染组件时,只需更新该key即可。

这是一个非常基本的方法

<template>
  <component-to-re-render :key="componentKey" />
</template>
 
 
export default {
  data() {
    return {
      componentKey: 0, //初始化key值为0
    };
  },
  methods: {
    forceRerender() {
      this.componentKey += 1;  //想让组件重新渲染的时候给key值加1变化
    }
  }
}

每次forceRerender调用时,我们的道具componentKey都会改变。当这种情况发生时,Vue 会知道它必须销毁组件并创建一个新组件。

你得到的是一个子组件,它将重新初始化自己并“重置”它的状态。

一个简单而优雅的方法来解决我们的问题!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强制Vue重新渲染组件的最佳方式(亲测完美解决问题) 的相关文章

  • YARN详解(ResourceManager/ApplicationMaster/NodeManager/Container)

    一 YARN基本思想 YARN是Hadoop2 0中的资源管理系统 它的基本思想是将JobTracker的两个主要功能 资源管理和作业调度 监控 分离 主要方法是创建一个全局的ResourceManager RM 和若干个针对应用程序的Ap
  • jmeter+ant+jenkins接口自动化测试框架

    大致思路 Jmeter可以做接口测试 也能做压力测试 而且是开源软件 Ant是基于Java的构建工具 完成脚本执行并收集结果生成报告 可以跨平台 Jenkins是持续集成工具 将这三者结合起来可以搭建一套Web HTTP接口测试的持续构建环
  • 超详细的Docker常用命令演示步骤和说明

    文章目录 一 帮助命令 二 镜像命令 三 容器命令 四 常用其他命令 五 常用命令图解 六 命令练习 Docker安装Nginx Docker安装Tomcat 一 帮助命令 docker version 显示docker的版本信息 dock

随机推荐

  • 纹理(Textures)

    纹理 Textures 原文 Textures 作者 JoeyDeVries 翻译 Django 校对 Geequlim BLumia 我们已经了解到 我们可以为每个顶点使用颜色来增加图形的细节 从而创建出有趣的图像 但是 如果想让图形看起
  • [MysSQL8笔记]-Access denied; you need (at least one of) the PROCESS privilege(s) for this opera

    出现这个原因是 当前用户没有PROCESS权限 使用root用户给当前用户授予PROCESS权限即可 以root身份登录 root centos01 mysql uroot p Enter password Welcome to the M
  • 【无标题】

    这里写自定义目录标题 怎么清除掉Excel图表的边框线 怎么清除掉Excel图表的边框线 你好 这是你第一次使用 Markdown编辑器 所展示的欢迎页
  • 【C++刷题笔记】函数指针与仿函数:自定义排序规则

    C 刷题笔记 函数指针与仿函数 自定义排序规则 方法一 传函数指针的方式 方法二 传仿函数的方式 自带的less和greater priority queue的情况 C 中的sort函数性能十分强大 有时我们需要自定义排序方式 sort的第
  • 单片机软件系统框架和多任务调度

    这里我用的单片机算是中颖的 芯片 UART底层驱动相关函数 UART相关寄存器初始化 void Uart Init void PCON 0x00 选择SSTAT0 SCON 0x50 01000000 方式一 SBRTL u8int SBR
  • 顺序表的C语言实现

    头文件 SeqList h pragma once include
  • 正大国际期货:期货市场到底难在哪儿?

    正大国际金融控股有限公司 简称 正大国际 成立于2019年11月4日 为香港证监会辖下之持牌法团 证监会中央编号 BOP620 从事第2类及第5类受规管活动及期货合约交易及就期货合约提供意见 主要从事商品期货经纪 金融期货经纪业务 致力于提
  • 程序员如何晋级管理层

    在技术领域 程序员们往往是团队中的核心力量 但是 在职场上 技术过硬并不意味着可以永远待在技术岗位上 程序员们很可能在职场中遇到瓶颈 希望获得更高的职位 那么 作为一名程序员 如何晋升到管理层呢 加强团队合作想要晋升管理层 首先需要具备团队
  • hadoop遇到的问题: org.apache.hadoop.ipc.Client: Retrying connect to server异常的解决

    今天在用pig脚本在hadoop运行时 出现如下错误 前提 hadoop能正常启动 pig的参数也正常配置好了 但是运行脚本就出现org apache hadoop ipc Client Retrying connect to server
  • 中国开源走向第二梯队!

    作者 彭慧中 责编 屠敏 出品 CSDN ID CSDNnews 开源已成为迄今为止最先进 最广泛 最活跃的协同创新模式 近年来 中国开源的发展已成为全球最快 中国在国际社区中的贡献度日益提升 在国际开源生态中的影响力日渐增强 在蓬勃发展之
  • 蒙特卡洛量化分析方法

    蒙特卡洛方法主要思想 对于一个随机系统 输出随输入变化是随机的 那么通过重复采样的方法可以得到输出的具体分布 进而再对输出分布形式进行分析 大数定律 当在试验不变的条件下 重复试验多次 随机事件的频率近似于它的概率 将上述思想用于量化分析
  • 常见国内镜像源地址

    常见国内镜像源地址 常见的pip后面的镜像源地址 常见国内镜像源地址 常见的pip后面的镜像源地址 清华大学 https pypi tuna tsinghua edu cn simple 阿里云 http mirrors aliyun co
  • ABAP:ONCHANGEOF的坑

    以下文章来源于ABAPer孙亮 作者孙小亮 ABAPer孙亮 绝对 有用 实用 的ABAP与Excel 原创 干货 不定期发布 可加vx 286503700交流 1 7 背景 由于AT NEW field会判断field和它前面的所有字段
  • 靠营销出圈的拉面说,会是下一个黄太吉吗?

    乘着 宅经济 一人食 的东风 方便速食这一餐饮细分赛道愈发火热 CBNData发布的 2021方便速食行业洞察报告 数据显示 方便速食行业近年来规模增长稳健 预估国内市场规模超2500亿元 而线上市场近一年的增长率更是超过了70 广阔的市场
  • DataGrip汉化设置

    左上角file settings plugins搜chinese如下图搜索结果 选择第二个官方汉化插件安装即可
  • 构造函数的初始化列表

    构造函数初始化列表以一个冒号开始 接着是以逗号分隔的数据成员列表 每个数据成员后面跟一个放在括号中的初始化式 例如 include
  • 【科普】一分钟看懂WINDOWS系统、LINUX系统和苹果操作系统到底有什么区别?

    转自 首先 不管是WINDOWS操作系统 LINUX系统还是苹果操作系统 甚至包括操作系统的鼻祖UNIX操作系统 最早都是用C语言编写的 实际上UNIX操作系统和C语言都是由贝尔实验室的汤普森 Ken Thompson 和丹尼斯 里奇 De
  • RFC文档(中文翻译版本)

    RFC文档官方在线阅读地址 https tools ietf org rfc index 以下是部分中文翻译的文档连接 RFC文档目录 RFC1 主机软件 RFC2 主机软件 RFC3 文档规范 RFC4 网络时间表 RFC6 与 Bob
  • Jmeter导出测试报告

    不管是测接口还是性能 测试完毕之后我们总是希望有所产出 能看的更直观 Jmeter就提供了导出测试报告的功能 一起看看怎么玩 如果细心留意的话 会看到在启动jmeter时 dos窗口会有一行命令 实际上这个命令就阔以帮助我们导出测试报告 我
  • 强制Vue重新渲染组件的最佳方式(亲测完美解决问题)

    有时候 依赖 Vue 响应方式来更新数据是不够的 相反 我们需要手动重新渲染组件来更新数据 或者 我们可能只想抛开当前的DOM 重新开始 那么 如何让Vue以正确的方式重新呈现组件呢 强制 Vue 重新渲染组件的最佳方法是在组件上设置 ke