欢迎来到码农权的博客 MaNongGeG|

路由跳转的方式和传参——方式之声明式导航、编程式导航 & 传参之params和query

路由跳转的方式和传参——方式之声明式导航、编程式导航 & 传参之params和query

1. 路由跳转的2种方式

第一种:声明式导航

  router-link(必须要有to属性),可以实现路由的跳转

2. 编程式导航

  利用的是组件实例的$router.push|replace方法,可以实现路由的跳转

编程式导航优于声明式导航,编程式导航在跳转之前可以先处理一些业务

2.1 跳转

参数

1、params参数——属于路径中的一部分,但在我们配置路由的时候需要占位
2、query参数——不属于路径中的一部分,(/index?k=v) 不需要占位

写法
  // 字符串写法
  this.$router.push('/world/' + this.text + '?password=' + this.password)
  // 模板字符串写法
  this.$router.push(`/world/${this.text}?password=${this.password}`)
  /*
    对象写法
    需要在router/index.js文件里面给需要跳转的路由命名
    {
      path: '/world/:keyword?',
      component: () => import('../pages/world/world-index.vue'),
      name:'world'
    }
  */
  this.$router.push({
    name: 'world',
    params: {
      keyword: this.text
    },
    query: {
      password: this.password
    }
  })

一直点击跳转会抛出异常

一直点击的话会有报错,是因为vue-router来设计的时候采用了promise ,
所以我们需要增加成功和失败的回调就可以解决:

  this.$router.push({
    name: 'world',
    params: {
      keyword: this.text
    },
    query: {
      password: this.password
    }
  },()=>{},()=>{})

本文作者:HuangBingQuan

本文链接:https://www.cnblogs.com/bingquan1/p/16638726.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   HuangBingQuan  阅读(177)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 不将就 码农权
  2. 2 Bleeding Love 码农权
  3. 3 想你念你 码农权
Bleeding Love - 码农权
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

Not available