命名路由
前面的代码中,在 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 参数可以传递复杂对象,后面也可以采用编程式导航来实现页面切换。