c语言编程笔录

首页 >   > 笔记大全

笔记大全

详解vue路由跳转 参数传递与接收

更新时间:2024-01-03

什么是Vue路由

Vue路由可以让通过改变URL而加载不同的页面, 它可以简化单页应用的开发流程,也可以方便地实现页面的跳转或者页面间参数传递,从而提供更好的用户体验和交互效果。

const routes = [
  {
    path: '/home',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
  }
]

路由参数传递

有些时候我们需要将参数传递到路由的页面中去,参数可以是数字或者字符串等等。Vue路由提供了两种方式传递参数。第一种方式是通过路由路径传递参数,第二种方式是通过查询传递参数。

路由路径传递参数

在定义路由时,加入参数格式,然后在需要传输参数的时候,在$route对象中定义变量名称即可,这样传递出去的路由就会带有对应的参数。

const routes = [
  {
    path: '/user/:id',
    name: 'User',
    component: User
  }
]
// 在路由路径中使用id参数
this.$router.push('/user/' + userId)
// 在User组件中使用$route获取参数
{{$route.params.id}}
查询传递参数

通过查询的方式传递参数,相对于路由的方式来说更为灵活,我们可以通过查询方式随意地传递参数和值。

const routes = [
  {
    path: '/about',
    name: 'About',
    component: About
  }
]
// 将参数绑定在to对象中传递

  About

// 在About组件中使用$route获取参数
{{ $route.query.userId }}

路由接收参数

当路由带上了参数之后,我们需要将参数接收下来才能在页面中使用。在前面的例子中,我们已经知道怎样通过$route对象获取路由参数。Vue路由也支持在组件内部定义**props**属性来接收参数值,这样会更加灵活和方便做一些事件处理和操作。

const routes = [
  {
    path: '/user/:id',
    name: 'User',
    component: User,
    props: true
  }
]
// 在User组件中通过props接收参数
props: ['id']

总结

Vue路由通过它提供的参数传递和接收机制,大大方便了我们开发中对于不同页面和组件传递参数和处理事件操作的灵活性和方便性。而在实际项目中,Vue路由和vuex配合着使用,可以让我们处理更加复杂和庞大的单页应用。希望这篇文章能够为你解决关于Vue路由的各种问题和疑问。