vue通过监听实现相同路径的视图重新加载

本文探讨了在使用Vue.js进行前端开发时遇到的路由复用问题,特别是在菜单路径相同的情况下,页面不会重新加载。文章提供了一种解决方案,通过监听路由变化并调用特定方法来实现页面的重新加载。

最近在做一个项目,前端菜单路径如下:

{
                path: '/oa/workflow/process/:status',
                component: sys_workflow_process,
                name: '流程查询',
                hidden: true
            },
            {
                path: '/oa/workflow/process/1',
                name: '待办流程',
                component: sys_workflow_process,
            }
            ,
            {
                path: '/oa/workflow/process/2',
                component: sys_workflow_process,
                name: '已办流程'
            },
            {
                path: '/oa/workflow/process/3',
                component: sys_workflow_process,
                name: '全部流程'
            },

菜单能正常显示,但发现从待办流程切换到已办流程时,页面没有重新刷新,但URL已经变化了.
经查,是因为各个菜单路由是相同的,vue就会认为你是同一个页面,从而复用已加载的页面,而不会重新加载.
解决办法如下:

  watch: {
            '$route' (to, from) {
                //重新加载页面
                this.switch(to.params['status']);
             this.getDataList();
            }
        }

这样,通过监听后,当路由URL发生变化时,重新加载视图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值