element-vue3-admin用router.push跳转新页面并刷新新页面

element-vue3-admin用router.push跳转新页面并刷新新页面

方法一:使用key属性强制刷新

在router-view上使用key属性,并绑定一个响应式的变量,每次跳转时更新这个变量的值,这样router-view会因为key的变化而重新渲染组件。

比如:从add.vue 页面跳转index.vue页面。

1.首先在invex.vue页面加上router-view标签对
html 复制代码
<router-view :key="componentKey"></router-view>
2.然后在add.vue页面加入如下代码
javascript 复制代码
<script lang="ts">
import { ref } from 'vue';
import router from "/@/router";
 
export default {
  setup() {
    const componentKey = ref(0);
 
    function refreshPage() {
      componentKey.value++;
    }
 
    function locateToPage() {
      router.push('/product/list').then(() => {
        refreshPage();
      });
    }
 
    return { locateToPage };
  },
};
</script>

方法二:使用location.reload()

在add.vue页面加入location.reload()强制浏览器刷新整个页面
javascript 复制代码
<script lang="ts">
import router from "/@/router";

function locateToPageAndRefresh() {
  router.push('/product/list').then(() => {
    window.location.reload();
  });
}
</script>

location.reload()强制刷新整个页面可能会导致用户数据丢失,请谨慎使用!

相关推荐
黑犬mo2 分钟前
在Edge、Chrome浏览器上安装uBlock Origin插件
前端·edge
excel8 分钟前
🧩 Vue 3 watch 源码详解(含完整注释)
前端·javascript·vue.js
大前端helloworld10 分钟前
前端梳理体系从常问问题去完善-网络篇
前端·面试
excel15 分钟前
🌿 一文看懂 Vue 3 的 watch 源码:从原理到流程
前端
繁依Fanyi1 小时前
让工具说话:我在 Inspira Board 里用 AI 把“能用、好用、可复用”落成了日常
前端
weixin_456904272 小时前
C# 中的回调函数
java·前端·c#
kura_tsuki2 小时前
[Web网页] LAMP 架构与环境搭建
前端·架构
yinuo2 小时前
UniApp+Vue3多分包引入同一 npm 库被重复打包至 vendor 的问题分析与解决
前端
码界奇点3 小时前
Spring Web MVC构建现代Java Web应用的基石
java·前端·spring·设计规范
yinuo3 小时前
UniApp + Vue3 使用 marked 报错:SyntaxError /[\p{L}\p{N}]/u 问题分析与解决
前端