<router-link> Props

to

  • 类型: string | Location

  • required

    表示目标路由的链接。当被点击后,内部会立刻把 to 的值传到 router.push(),所以这个值可以是一个字符串或者是描述目标位置的对象。

    1. <!-- 字符串 -->
    2. <router-link to="home">Home</router-link>
    3. <!-- 渲染结果 -->
    4. <a href="home">Home</a>
    5. <!-- 使用 v-bind 的 JS 表达式 -->
    6. <router-link v-bind:to="'home'">Home</router-link>
    7. <!-- 不写 v-bind 也可以,就像绑定别的属性一样 -->
    8. <router-link :to="'home'">Home</router-link>
    9. <!-- 同上 -->
    10. <router-link :to="{ path: 'home' }">Home</router-link>
    11. <!-- 命名的路由 -->
    12. <router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
    13. <!-- 带查询参数,下面的结果为 /register?plan=private -->
    14. <router-link :to="{ path: 'register', query: { plan: 'private' }}"
    15. >Register</router-link
    16. >

replace

  • 类型: boolean

  • 默认值: false

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

    1. <router-link :to="{ path: '/abc'}" replace></router-link>

append

  • 类型: boolean

  • 默认值: false

    设置 append 属性后,则在当前 (相对) 路径前添加基路径。例如,我们从 /a 导航到一个相对路径 b,如果没有配置 append,则路径为 /b,如果配了,则为 /a/b

    1. <router-link :to="{ path: 'relative/path'}" append></router-link>

tag

  • 类型: string

  • 默认值: "a"

    有时候想要 <router-link> 渲染成某种标签,例如 <li>。 于是我们使用 tag prop 类指定何种标签,同样它还是会监听点击,触发导航。

    1. <router-link to="/foo" tag="li">foo</router-link>
    2. <!-- 渲染结果 -->
    3. <li>foo</li>

active-class

  • 类型: string

  • 默认值: "router-link-active"

    设置链接激活时使用的 CSS 类名。默认值可以通过路由的构造选项 linkActiveClass 来全局配置。

exact

  • 类型: boolean

  • 默认值: false

    “是否激活”默认类名的依据是包含匹配。 举个例子,如果当前的路径是 /a 开头的,那么 <router-link to="/a"> 也会被设置 CSS 类名。

    按照这个规则,每个路由都会激活 <router-link to="/">!想要链接使用“精确匹配模式”,则使用 exact 属性:

    1. <!-- 这个链接只会在地址为 / 的时候被激活 -->
    2. <router-link to="/" exact></router-link>

    查看更多关于激活链接类名的例子可运行<router-link> Props - 图1

event

  • 类型: string | Array<string>

  • 默认值: 'click'

    声明可以用来触发导航的事件。可以是一个字符串或是一个包含字符串的数组。

exact-active-class

  • 类型: string

  • 默认值: "router-link-exact-active"

    配置当链接被精确匹配的时候应该激活的 class。注意默认值也是可以通过路由构造函数选项 linkExactActiveClass 进行全局配置的。

aria-current-value

  • 类型: 'page' | 'step' | 'location' | 'date' | 'time'

  • 默认值: "page"

    当链接根据精确匹配规则激活时配置的 aria-current 的值。这个值应该是 ARIA 规范中允许的 aria-current 的值<router-link> Props - 图2。在绝大多数场景下,默认值 page 应该是最合适的。