2.7 KiB
title, description, links
| title | description | links | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Link | Render a NuxtLink but with superpowers. |
|
Usage
The Link component is a wrapper around <NuxtLink> through the custom prop that provides a few extra props:
inactive-classprop to set a class when the link is inactive,active-classis used when active.exactprop to style withactive-classwhen the link is active and the route is exactly the same as the current route.exact-queryandexact-hashprops to style withactive-classwhen the link is active and the query or hash is exactly the same as the current query or hash.
The incentive behind this is to provide the same API as NuxtLink back in Nuxt 2 / Vue 2. You can read more about it in the Vue Router migration from Vue 2 guide.
::note It is used by the Breadcrumb, Button, ContextMenu, DropdownMenu and NavigationMenu components. ::
Tag
The Link components renders an <a> tag when a to prop is provided, otherwise it renders a <button> tag. You can use the as prop to change fallback tag.
::component-code
props: to: '' as: 'button' slots: default: Link
::
::tip
You can inspect the rendered HTML by changing the to prop.
::
Style
By default, the link has default active and inactive styles, check out the #theme section.
::component-code
props: to: /components/link slots: default: Link
::
::tip
Try changing the to prop to see the active and inactive states.
::
You can override this behavior by using the raw prop and provide your own styles using class, active-class and inactive-class.
::component-code
ignore:
- raw props: raw: true to: /components/link active-class: 'font-bold' inactive-class: 'text-gray-500 dark:text-gray-500' slots: default: Link
Link ::
IntelliSense
If you're using VSCode and wish to get autocompletion for the classes active-class and inactive-class, you can add the following settings to your .vscode/settings.json:
{
"tailwindCSS.classAttributes": [
"active-class",
"inactive-class"
]
}
API
Props
::component-props
ignore:
- custom
::
Slots
:component-slots
Theme
:component-theme