vue 重新渲染dom

当我们用 v-if="pane_persuser" 之类的属性值(true和false)在父页面来控制子页面弹窗打开关闭时,在第二次打开子页面时,子页面并不会重新执行mounted,也就不会重新执行我们写的某些函数来加载界面的值,这时候我们就需要强制重新加载子页面的dom。

方法如下:

如果需要强制重新渲染一个组件,可以使用key属性。当key改变时,Vue会认为这是一个不同的元素,并且会创建一个新的DOM节点替换旧的节点。

下面是一个简单的例子,在这个例子中,每当你点击按钮时,componentKey的值会增加,因此key属性会变化,Vue会认为<my-component>需要被重新渲染。这种方法可以强制Vue去重新渲染一个组件,从而更新其DOM。

javascript 复制代码
<template>
  <div>
    <button @click="refreshComponent">刷新组件</button>
    <my-component :key="componentKey"></my-component>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      componentKey: 0
    };
  },
  methods: {
    refreshComponent() {
      this.componentKey += 1;
    }
  }
};
</script>
相关推荐
lichenyang4535 小时前
Docker 学习笔记(一):为什么需要镜像、容器和仓库?
前端
kyriewen5 小时前
别再对着 TypeScript 报错发呆了:我把 10 个最常见的红色波浪线翻译成了人话
前端·javascript·typescript
IT_陈寒5 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
free356 小时前
从 0 实现一个 Tiny JavaScript VM:项目架构拆解
javascript
暴走的小呆6 小时前
Vue 2 中 Object 的变化侦测:从 getter/setter 到 Dep、Watcher、Observer
vue.js
奇奇怪怪的6 小时前
Embedding 模型 10+ 横向评测
前端
陈广亮6 小时前
Monorepo 从 0 到 1 实操指南 2026 版:pnpm catalogs + Turborepo 2.x + changesets 全链路
前端
子兮曰6 小时前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室
前端·后端·ai编程
敲代码的鱼6 小时前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios