跳至内容

命名路由

创建路由时,我们可以选择性地为路由指定一个 name

js
const routes = [
  {
    path: '/user/:username',
    name: 'profile', 
    component: User
  }
]

然后,我们可以使用 name 而不是 path,将 to 属性传递给 <router-link>

template
<router-link :to="{ name: 'profile', params: { username: 'erina' } }">
  User profile
</router-link>

上面的示例将创建一个指向 /user/erina 的链接。

使用 name 有多种优势

  • 没有硬编码的 URL。
  • 自动编码 params
  • 避免 URL 键入错误。
  • 绕过路径排名,例如显示与相同路径匹配的排名较低的路由。

每个名称在所有路由中都必须是唯一的。如果将相同的名称添加到多个路由,路由器只会保留最后一个。您可以在 动态路由 部分了解更多信息。

Vue Router 的其他部分可以传递位置,例如 router.push()router.replace() 方法。我们将在指南中详细介绍这些方法,以了解 编程导航。与 to 属性一样,这些方法也支持通过 name 传递位置

js
router.push({ name: 'profile', params: { username: 'erina' } })