当前位置:   article > 正文

VueRouter: this.$route.push跳转,携带参数_this.$router.push 带参数

this.$router.push 带参数

this.$router.push传递参数有2种方式:

传递参数  -- this.$router.push({path: ' 路由 ', query: {key: value}})

参数取值  -- this.$route.query.key

使用这种方式,传递参数会拼接在路由后面,出现在地址栏.

传递参数  -- this.$router.push({name: ' 路由的name ', params: {key: value}})

参数取值  -- this.$route.params.key

使用这种方式,参数不会拼接在路由后面,地址栏上看不到参数..

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

[通过路由配置的name属性访问].

相关文档:VueRouter文档

=====================================================================================================

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

  1. // 字符串
  2. this.$router.push('/viewAgent')
  3. // 对象
  4. this.$router.push({ path: '/viewAgent' })
  5. // 命名的路由
  6. this.$router.push({ name: 'viewAgent', params: { isShow: true}})

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

  1. /* router.js 文件*/
  2. import Vue from "vue";
  3. import Router from "vue-router";
  4. import MediaSecond from "@/views/EnterprisePage/MediaMatrix/second"; //资讯列表
  5. Vue.use(Router);
  6. export default new Router({
  7. routes: [ /* 进行路由配置 */
  8. {
  9. name: "MediaSecond",
  10. path: "/MediaSecond",
  11. component: MediaSecond
  12. },
  13. ]

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

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

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

  1. this.$route.params.type
  2. this.$route.params.artistName
  3. this.$route.params.imgUrl

2.query 传值 接收参数
页面通过path/name和query传递参数

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

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

  1. this.$route.query.auditID
  2. this.$route.query.type

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

  1. let routeUrl = this.$router.resolve({
  2. path: '/viewAgent', // 对应路由
  3. query: { isShow: false } //传值
  4. })
  5. window.open(routeUrl.href, '_blank')

接收参数

this.$route.query.isShow

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/285098
推荐阅读
相关标签
  

闽ICP备14008679号