vue router 路由跳转方法概述

一、概述

使用到Vue的项目,我们最常见使用的就是Vue配套的Vue Router库。

那么在平日开发中,有多少种跳转路由的方法?

二、跳转方法

1、使用router-link标签

使用router-link标签,我们通常会使用到2个参数,最常用的就是to参数
to参数,表示你想要跳转到的路由对象

router-link标签,会调用router.push()方法,该方法会在你点击浏览器会退按钮的时候,无痕回退一个路由。

可以是路由路径

<router-link to="/home">Homerouter-link>
<router-link :to="'/home'">Homerouter-link>

也可以是路由对象,甚至还可以为其携带参数

<router-link :to="{ path: '/home' }">Homerouter-link>
<router-link :to="{ name: 'user', params: { userId: '123' }}">Userrouter-link>
<router-link :to="{ path: '/register', query: { plan: 'private' }}">
  Register
router-link>

2、使用router-replace

设置 replace 属性的话,当点击时,会调用 router.replace(),而不是 router.push(),所以导航后不会留下历史记录。

<router-link to="/abc" replace>router-link>

3、使用router-push

方法1和2是使用html的方法来调用,对应的,也有使用js代码来控制路由的方法

router.push('/users/eduardo')
router.push({ path: '/users/eduardo' })
router.push({ name: 'user', params: { username: 'eduardo' } })
router.push({ path: '/register', query: { plan: 'private' } })
router.push({ path: '/about', hash: '#team' })

三、路由中params和query的区别

在上述代码中, 发现给路由传递参数,有params和query两个不同的方式,他们的区别又是什么 ?

query是什么

从 URL 的 search 部分提取的已解码查询参数的字典。就是地址中?后面的内容,不过是已经解析的。

params是什么

从 path 中提取的已解码参数字典。就是vue路由中的路径参数

如下方代码中的**id **字段,就是路径参数,当使用params的时候,就可以获取到。

const routes = [
  { path: '/users/:id', component: User },
]

你可能感兴趣的:(Vue,vue.js,javascript,前端)