命名路由
前面的代码中,在 routes
中配置的路由,我们一般以 path
进行区分,不同的 path
表示不同的路由。除了 path
之外,还可以为任何路由提供 name
,这有以下优点:
-
没有硬编码的
URL
。 -
params
的自动编码/解码。 -
防止用户在
URL
中出现打字错误。 -
绕过路径排序(如显示一个)。
命名路由的主要含义是给路由设置一个 name
属性,同时提供 params
参数可以让路由之间切换时,传递更加复杂的数据,同时如果配置了 name
,则需要保证不同路由的 name
不同,如示例代码7-7-1所示。
const routes = [
{
path: '/user/:username',
name: 'user',
component: User
}
]
配置了 name
属性后,后续在进行路由切换时,就可以传递复杂参数,代码如下:
<router-link :to="{ name: 'user', params: {username: 'erina'}}">
User
</router-link>
params
参数可以传递复杂对象,后面也可以采用编程式导航来实现页面切换。