Vue路由传参

vue路由传参

vue路由传参理解为以下三种:

显式params传参
隐式params传参
query传参
每一种又分为router-link和this.$rouer.push

params

  • 显式params传参
  1. 子路由需要提前配置好参数
  2. 导航栏格式为:http://localhost:8080/about/1,带参数
  3. 接收时:this.$route.params.id
  4. 刷新界面后,传过来的值一直存在

第一种

{
  path: '/about/:id',
  name: 'about',
  component: () => import('../views/AboutView.vue')
}

<router-link to="/about/1">About</router-link>

// 浏览器导航栏地址
http://localhost:8080/about/1  刷新后一直存在

第二种

<button @click="toAbout(id)">params参数显示路由传参</button>
data() {
  return {
    id: 100
  }
},
methods: {
  toAbout(id) {
    this.$router.push({
      path: '/about/'+ id
    })
  }
}
// 浏览器导航栏地址
http://localhost:8080/about/100  刷新后一直存在
  • 隐式params传参
  1. 子路由不提前配置参数
  2. 导航栏格式为:http://localhost:8080/about,不带参数
  3. 接收时:this.$route.params.id
  4. 刷新界面后,传过来的值变成undefined
  5. 必须使用路由别名

第一种

{
	path: '/about',
	name: 'about',
	component: () => import( '../views/AboutView.vue')
},
      
<router-link :to="{name: 'about', params: {id: 999, name: 'xx'}}">About</router-link>

// http://localhost:8080/about  

第二种

toAbout() {
  this.$router.push({
    name: 'about',
    params: {
      name: 'hh2',
      age: 24
    }
  })
}

query

  • 没有配置子路由这一说
  • 没有强制要求必须使用路由别名
  • 导航栏格式为: http://localhost:8080/about?id=999&name=xx,以问号连接参数
  • 接收参数:this.$route.query.name
  • 刷新页面后,路由传值不会消失

第一种

{
  path: '/about',
  name: 'about',
  component: () => import('../views/AboutView.vue')
}

<router-link :to="{name: 'about', query: {id: 9999}}">About</router-link>
<router-link :to="{path: '/about', query: {id: 999, name: 'xx'}}">About</router-link>

// http://localhost:8080/about?id=999&name=xx

第二种

{
  path: '/about',
  name: 'about',
  component: () => import('../views/AboutView.vue')
}

<button @click="toAbout">query路由传参</button>

toAbout() {
  this.$router.push({
    // path: '/about',  path或者name都可以
    name: 'about',
    query: {
      name: 'hh2',
      age: 24
    }
  })
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值