文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue跳转页面打开新窗口并携带与接收参数方式是什么

2023-06-29 22:51

关注

本篇内容介绍了“vue跳转页面打开新窗口并携带与接收参数方式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、携带普通类型参数

字符串、数字等。

path:要跳转新页面的路由链接

query:要携带的参数

let pathInfo = this.$router.resolve({  path:'/product_detail',     query:{         productId:'11'     } }) window.open(pathInfo.href, '_blank');

新页面的参数接收:

this.productId = this.$route.query.productId

2、携带复杂类型参数

对象、数组等,通过JSON转换进行传递。

let pathInfo = this.$router.resolve({   path:'/product_detail',     query:{         data:{name:'张三'}     } }) window.open(pathInfo.href, '_blank');

新页面的参数接收:

console.log(this.$route.query.data)

vue页面跳转并传参的八种方式

我们知道,在vue中每个页面都需要在路由中声明,就是在router/index.js中写下面代码:

import Vue from 'vue'import Router from 'vue-router'import Test from "../components/Test";Vue.use(Router)export default new Router({  mode: 'history',  routes: [          {              path: '/t',              name: 'Test',              component: Test,              hidden:true            },        ]    })

实现页面跳转并传参有多种方式:

方法一

在template中可以使用<router-link>标签实现跳转,跳转的路径是http://localhost:8080/t?index=id,如下:

<router-link to="/t?index=1">     <button class="btn btn-default">点击跳转</button></router-link>

只需要点击按钮就可以实现跳转,不需要写js代码,需要传递参数的话只需要/t?index=1即可,这样的话跳转的页面获取参数通过window.location.href能够获取到完整的url,然后截取参数。也可以通过下面代码获取参数

this.$route.query.index

方法二

跳转的路径是http://localhost:8080/t?index=id

<router-link :to="{path:'/t',query: {index: 1}}">     <button class="btn btn-default">点击跳转</button></router-link>

其中需要注意,这里的to前面一定要加冒号,path的值要和上面路由定义的值一致,传参用query,里面是参数字典。

接收参数:

this.$route.query.index

方法三

命名路由的方式:

跳转的路径是http://localhost:8080/t?index=id

<router-link :to="{name:'Test',params: {index: 1}}">     <button class="btn btn-default">点击跳转</button></router-link>

注意这里的name也要和router/index.js中声明的name值一致,并且传参使用params,和name配对的是params,和path配对的是query。

接收参数:

this.$route.params.index

方法四

跳转的路径是http://localhost:8080/t/id

<router-link:to="'/test/'+1">     <button class="btn btn-default">点击跳转</button></router-link>

这时的路由也需要更为为下面的形式:

routes: [          {              path: '/t/:index',              name: 'Test',              component: Test,              hidden:true            },        ]

接收参数:

this.$route.params.index

方法五

上面四种方法都是在html中实现的跳转,还有另外对应的在js中实现的跳转并传参的方法,代码如下:

<template><button @click = "func()">跳转</button></template><script>    export default{        methods:{            func (){                this.$router.push({path: '/t?index=1'});            }        }    }</script>

接收参数依然使用

this.$route.query.index

方法六

<template><button @click = "func()">跳转</button></template><script>    export default{        methods:{            func (){                this.$router.push({path: '/t',query:{ index:'1'}});            }        }    }</script>

接收参数依然使用

this.$route.query.index

方法七

<template><button @click = "func()">跳转</button></template><script>    export default{        methods:{            func (){                this.$router.push({path: '/t/index'});            }        }    }</script>

接收参数依然使用

this.$route.query.index

方法八

<template><button @click = "func()">跳转</button></template><script>    export default{        methods:{            func (){                this.$router.push({name: 'Test',params:{ index:'1'}});            }        }    }</script>

接收参数依然使用

this.$route.params.index

“vue跳转页面打开新窗口并携带与接收参数方式是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯