vue中页面跳转传值_Vue中 this.$router.push() 实现页面跳转及传参

我们在执行点击按钮跳转页面之前还会执行一系列方法,这时可以使用 this.$router.push(location) 来修改 url,完成跳转。

push 后面可以是对象,也可以是字符串:

// 字符串

this.$router.push('/viewAgent')

// 对象

this.$router.push({ path: '/viewAgent' })

// 命名的路由

this.$router.push({ name: 'viewAgent', params: { isShow: true}})

跳转页面并传递参数的方法:

1.Params 传值 接收参数

由于动态路由也是传递params的,所以在 this.$router.push() 方法中path不能和params一起使用,否则params将无效。需要用name来指定页面。及通过路由配置的name属性访问

在路由配置文件中定义参数:

/* router.js 文件*/

import Vue from "vue";

import Router from "vue-router";

import MediaSecond from "@/views/EnterprisePage/MediaMatrix/second"; //资讯列表

Vue.use(Router);

export default new Router({

routes: [ /* 进行路由配置 */

{

name: "MediaSecond",

path: "/MediaSecond",

component: MediaSecond

},

]

通过name获取页面,传递params:

this.$router.push({ name: 'MediaSecond',params:{artistName:artistName,imgUrl:imgUrl,type:2} })

在目标页面通过this.$route.params获取参数:

this.$route.params.type

this.$route.params.artistName

this.$route.params.imgUrl

2.query 传值 接收参数

页面通过path/name和query传递参数

this.$router.push({ name: 'DetailManagement', query: { auditID: "row.id", type: '2' } });

this.$router.push({ path: '/DetailManagement', query: { auditID: "row.id", type: '2' } });

在目标页面通过this.$route.query获取参数:

this.$route.query.auditID

this.$route.query.type

3. 通过跳转打开新的标签页并定位到对应页面

let routeUrl = this.$router.resolve({

path: '/viewAgent', // 对应路由

query: { isShow: false } //传值

})

window.open(routeUrl.href, '_blank')

接收参数

this.$route.query.isShow

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值