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>
相关推荐
qq_5470261794 小时前
Flowable 工作流引擎
java·服务器·前端
刘逸潇20054 小时前
CSS基础语法
前端·css
Sheldon一蓑烟雨任平生5 小时前
Vue3 插件(可选独立模块复用)
vue.js·vue3·插件·vue3 插件·可选独立模块·插件使用方式·插件中的依赖注入
吃饺子不吃馅5 小时前
[开源] 从零到一打造在线 PPT 编辑器:React + Zustand + Zundo
前端·svg·图形学
小马哥编程6 小时前
【软考架构】案例分析-Web应用设计(应用服务器概念)
前端·架构
鱼与宇6 小时前
苍穹外卖-VUE
前端·javascript·vue.js
啃火龙果的兔子7 小时前
前端直接渲染Markdown
前端
z-robot7 小时前
Nginx 配置代理
前端
用户47949283569157 小时前
Safari 中文输入法的诡异 Bug:为什么输入 @ 会变成 @@? ## 开头 做 @ 提及功能的时候,测试同学用 Safari 测出了个奇怪的问题
前端·javascript·浏览器
没有故事、有酒7 小时前
Ajax介绍
前端·ajax·okhttp