vue 自定义组件切换时刷新

2023-11-03

我们在使用vue自定义组件时,常常会遇到切换组件的操作,但是切换组件的时候,如果没有处理好,组件内容就不会刷新。如:标签页下放自定义组件,切换标签时,组件里面的内容不刷新,导致页面停留在上一次的操作。那么我们应该如何来解决这个问题呢?接下来说说我在网上看到的两种方法

一、通过v-if来刷新

当我们在父辈组件请求后台接口完成后要刷新子孙组件时,我们就可以在父辈组件调用以下函数,实现子孙组件的刷新(感觉这种方法怪怪的,个人喜欢第二种方法)
上代码:

//父组件内容
<child v-if="show"></child>

js:     
refresh(){
     this.show = false;
     this.$nextTick(() => {
         this.show = true;
            });
}

补充:使用v-if来有条件的渲染组件,还可以避免父组件异步传值失败的问题。比如我们要在父组件请求后台数据,并且要将数据在子组件渲染,这时就可以用v-if,有数据时才渲染子组件,就不会出错了。

二、通过key来刷新

key 属性不是给开发人员用的,而是用来 给vue 元素渲染的时候用的,每次渲染的时候会去拿这个key 值做对比,如果这一次的key 值和上一次的key值是不一样的才会重新渲染dom 元素,否则保持上一次的元素状态。
根据这个原理我们可以给key 直接绑定一个 时间戳

代码

父组件
<button @click="handleLoad">点击重新加载子级</button>
<children :key="timer"></children>

  methods: {
        handleLoad () {
            this.timer = new Date().getTime()
        }
    }

每次点击的时候都会重新加载子组件 ,created() 生命周期函数每次都会执行,重新生成dom 元素。也省的用watch 去监听了!

总结:以上两种方法都能实现,应该还有其他的方式,知道的小伙伴可在下方评论哦。
另外:本文纯属个人笔记,如有说错的地方,希望大家积极纠正

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

vue 自定义组件切换时刷新 的相关文章

  • NLP学习(五)jieba分词-Python3实现

    中文分词 对于NLP 自然语言处理 来说 分词是一步重要的工作 市面上也有各种分词库 11款开放中文分词系统比较 1 基于词典 基于字典 词库匹配的分词方法 字符串匹配 机械分词法 2 基于统计 基于词频度统计的分词方法 3 基于规则 基于

随机推荐

  • LLVM里的寄存器分配 - 线性扫描算法(二)

    1 背景介绍 在上一篇博文 LLVM 里的寄存器分配 准备工作 一 里 我主要整理了 LLVM 在做寄存器分配前所做的准备工作 介绍了 LLVM 是在怎样的 MIR 上做的寄存器分配 接下来 就需要讲讲 LLVM 是如何做寄存器分配了 虽然
  • 对比加速CDN,高防CDN有什么优势呢

    与加速的CDN相比 高防CDN优势可以归纳为 自动化 引导式自助 错误冲突及时提醒 操作高效便捷 配置项丰富 自动配置缓存策略 多业务支持 支持网页 下载 点播等多种业务类型 满足用户多元化业务需求 可谓是大文件 小文件 点播 直播 动静皆
  • React中的state管理

    实现如上的点击变色 父组件 class StarRating extends React Component constructor props super props this state starsSelected props star
  • 2013一些好的句子

    1 能医不自医 2 万般皆是命 半点不由人 3 养儿一百岁 长忧九十九
  • 如何注册 Docker hub

    Docker hub 是什么 Docker Hub 是 Docker 社区分享 Docker 镜像的网站 存储库 上面有很多 Docker 镜像 例如 nginx 官方镜像 你可以从Docker Hub上下载这些镜像 也可以在上面分享你自己
  • 比默认的 Python shell 好太多,IPython 实用小技巧合集

    导语 IPython 是一个 Python的交互式shell 比默认的 Python shell好用得多 它有许多好用的特性 本文将对一些特性进行介绍 介绍 IPython 是一个Python的交互式shell 比默认的 Python sh
  • 如何吃透csapp

    读薄 读厚csapp 非常不错的博客 既有对书本内容的理解 也有对实验内容的剖析 当然我还没看 先马 并且立个flag 必看完csapp 看完奖励自己一趟旅行 EOF 补充 本书的使用指南
  • 程序员常用九大算法(二分查找(非递归)、分治、动态规划、KMP、贪心、普里姆、克鲁斯卡尔、迪杰斯特拉、弗洛伊德算法)

    程序员常用九大算法 1 二分查找 非递归 2 分治算法 3 动态规划算法 4 KMP算法 5 贪心算法 6 普里姆算法 7 克鲁斯卡尔算法 8 迪杰斯特拉算法 9 弗洛伊德算法 1 二分查找 非递归 就是不使用递归的二分查找 这里不做介绍
  • 机器学习(1):独立同分布IID(independent and identically distributed)

    1 独立同分布independent and identically distributed i i d 在概率统计理论中 如果变量序列或者其他随机变量有相同的概率分布 并且互相独立 那么这些随机变量是独立同分布 在西瓜书中解释是 输入空间
  • 程序员的浪漫——欲寄彩笺兼尺素,山长水阔知何处

    欲寄彩笺兼尺素 山长水阔知何处 每当提及程序员 人们往往想到的是带着眼镜 不修边幅 面对电脑 两眼无光的窘态 然事实上每个热爱编程的人 内心深处都藏有一处不为人知充满着浪漫色彩与幻想气息的地方 而这个地方也只为一个人开放 每个热爱编程的程序
  • 在win10环境下的vscode中使用xdebug进行PHP断点调试

    第一步 下载VScode和phpstudy 具体下载网址我放到下面 VScode Visual Studio Code Code Editing RedefinedVisual Studio Code Code Editing Redefi
  • 深入浅出讲解:php的socket通信

    对TCP IP UDP Socket编程这些词你不会很陌生吧 随着网络技术的发展 这些词充斥着我们的耳朵 那么我想问 1 什么是TCP IP UDP 2 Socket在哪里呢 3 Socket是什么呢 4 你会使用它们吗 什么是TCP IP
  • mysql8坑太多_使用mysql8时遇到的一些坑

    1 时区问题 往数据库插入datetime类型的时间发现 数据库里存储的比实际晚13个小时 而服务器的时间是东八区没问题 解决方法 连接数据库url中加上serverTimezone GMT 2b8 2 java sql SQLExcept
  • Memcached 未授权访问漏洞验证

    Memcached 是一个高性能的分布式内存对象缓存系统 用于动态Web应用以减轻数据库负载 该服务的端号为 11211 使用绿盟漏洞扫描系统发现某服务器存在Memcached 未授权访问漏洞 如下图所示 验证方法一 使用nmap 脚本sc
  • 使用Gson解析复杂的json数据

    http blog csdn net tkwxty article details 34474501
  • [python学习] 简单爬取图片网站图库中图片

    最近老师让学习Python与维基百科相关的知识 无聊之中用Python简单做了个爬取 游讯网图库 中的图片 因为每次点击下一张感觉非常浪费时间又繁琐 主要分享的是如何爬取HTML的知识和Python如何下载图片 希望对大家有所帮助 同时发现
  • Unity 世界坐标转UI坐标

    一 Unity中有四种坐标系 1 World Space 世界坐标 三维空间坐标 浮点数 2 Screen Space 屏幕坐标 以像素来定义的 以屏幕的左下角为 0 0 点 右上角为 Screen width Screen height
  • cramfs文件系统制作

    参考 http blog csdn net liukun321 article details 7256456 1 首先配置内核 打开对cramfs的支持 File systems gt Miscellaneous filesystems
  • win10 安装svn遇到2503错误的解决办法

    win10安装 svn visualsvn ankhsvn 遇到2503错误 解决办法 以管理员身份打开cmd 输入命令 C windows system32 gt msiexec package D 软件 8 SVN AnkhSvn 2
  • vue 自定义组件切换时刷新

    我们在使用vue自定义组件时 常常会遇到切换组件的操作 但是切换组件的时候 如果没有处理好 组件内容就不会刷新 如 标签页下放自定义组件 切换标签时 组件里面的内容不刷新 导致页面停留在上一次的操作 那么我们应该如何来解决这个问题呢 接下来