有时候,通过一个名称来标识一个路由显得更方便一些,特别是在链接一个路由,或者是执行一些跳转的时候。你可以在创建 Router 实例的时候,在 routes 配置中给某个路由设置名称。
User组件:
<template> <div class="user"> <h1>User Page</h1> <p>UserId = {{this.$route.userId}}</p> </div> </template> <script> export default { name: 'User' } </script> <style scoped></style>
路由配置:
import Vue from 'vue' // 导入 vue-router import VueRouter from 'vue-router' // 导入自定义组件 import User from '@/components/User' Vue.use(VueRouter); // 配置路由 const router = new VueRouter({ routes: [ // 使用 name 属性将 /user/:userId 路由命名为 user { path: '/user/:userId', name: 'user', component: User } ] })
要链接到一个命名路由,可以给 router-link 的 to 属性传一个对象:
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
这跟代码调用 router.push() 是一回事:
router.push({ name: 'user', params: { userId: 123 }})
这两种方式都会把路由导航到 /user/123 路径。
参考资料:
https://router.vuejs.org/zh/guide/essentials/named-routes.html