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

相关推荐
im_AMBER23 分钟前
React 17
前端·javascript·笔记·学习·react.js·前端框架
谷歌开发者1 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (六)
前端·chrome·学习
一晌小贪欢1 小时前
【Html模板】电商运营可视化大屏模板 Excel存储 + 一键导出(已上线-可预览)
前端·数据分析·html·excel·数据看板·电商大屏·大屏看板
发现你走远了1 小时前
连接模拟器网页进行h5的调试(使用Chrome远程调试(推荐)) 保姆级图文
前端·chrome
街尾杂货店&3 小时前
css - 实现三角形 div 容器,用css画一个三角形(提供示例源码)简单粗暴几行代码搞定!
前端·css
顺凡3 小时前
删一个却少俩:Antd Tag 多节点同时消失的原因
前端·javascript·面试
小白路过3 小时前
CSS transform矩阵变换全面解析
前端·css·矩阵
爬山算法3 小时前
Redis(110)Redis的发布订阅机制如何使用?
前端·redis·bootstrap
REDcker3 小时前
前端打包工具 - Rollup 打包工具笔记
前端·笔记
前端大卫3 小时前
动态监听DOM元素高度变化
前端·javascript