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()强制刷新整个页面可能会导致用户数据丢失,请谨慎使用!

相关推荐
dualven_in_csdn1 小时前
搞了两天的win7批处理脚本问题
java·linux·前端
你的人类朋友2 小时前
✍️【Node.js程序员】的数据库【索引优化】指南
前端·javascript·后端
小超爱编程3 小时前
纯前端做图片压缩
开发语言·前端·javascript
银色的白3 小时前
工作记录:人物对话功能开发与集成
vue.js·学习·前端框架
应巅3 小时前
echarts 数据大屏(无UI设计 极简洁版)
前端·ui·echarts
萌萌哒草头将军3 小时前
🚀🚀🚀什么?浏览器也能修改项目源文件了?Chrome 团队开源的超强 Vite 插件!🚀🚀🚀
vue.js·react.js·vite
Jimmy3 小时前
CSS 实现描边文字效果
前端·css·html
islandzzzz4 小时前
HMTL+CSS+JS-新手小白循序渐进案例入门
前端·javascript·css·html
Senar4 小时前
网页中如何判断用户是否处于闲置状态
前端·javascript
很甜的西瓜4 小时前
typescript软渲染实现类似canvas的2d矢量图形引擎
前端·javascript·typescript·图形渲染·canvas