Vue 中$router.push打开新窗口

文章讲述了在Vue应用中,如何利用this.$router.push进行路由跳转并新开窗口,通过this.$router.resolve方法结合window.open实现。同时,提到在接收查询参数时可能遇到的问题以及解决方案,包括对null值的处理,并给出了具体项目实例代码,涉及动态导入组件和设置路由元信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在vue中使用 this.$router.push({ path:  '/home' }) 
默认是替代本窗口
如果想新开一个窗口,可以使用下面的方式:


let routeData = this.$router.resolve({ path: '/home', query: { id: 1 } });
window.open(routeData.href, '_blank');

获取参数:
直接在被跳转的页面:this.$route.query.addflg;

如果单独加载这个列表,this.$route.query.addflg 会报错,那么就在 var t=this.$route.query?this.$route.query.addflg:'', 做个判断

如果要跳转到其他列表对应的弹框  可以直接 跳的对应的列表页面, 判断 直接调用对应的方法

项目实例:

//  this.$router.push({path:'/web/MMS/StockOut/OutBound', query: {}});

                                let routeData = this.$router.resolve({
                                    path: "/web/MMS/StockOut/OutBound",
                                    name: "OutBound",
                                    meta: {
                                        title: "出库单",
                                    },
                                    component: () =>
                                        import(
                                            "@/views/MaterialReceiving/OutBound/index.vue"
                                        ),
                                });
                                window.open(routeData.href, "_blank");

                                // this.$router.push({
                                //     path: "/web/MMS/StockOut/OutBound",
                                //     name: "OutBound",
                                //     meta: {
                                //         title: "出库单",
                                //     },
                                //     component: () =>
                                //         import(
                                //             "@/views/MaterialReceiving/OutBound/index.vue"
                                //         ),
                                // });
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值