Link

Un envoltorio alrededor de NuxtLink con accesorios adicionales.

xph0000xUso

El componente Link es una envoltura alrededor de <NuxtLink> usando el prop. [customxph008https://router.vuejs.org/api/interfaces/RouterLinkProps.html#Properties-custom).

  • inactive-class prop para establecer una clase cuando el enlace está inactivo, active-class se utiliza cuando está activo.
  • exact prop para estilizar con active-class cuando el enlace está activo y la ruta es exactamente la misma que la ruta actual.
  • exact-query y exact-hash props para usar active-class cuando el enlace está activo y la consulta o el hash es exactamente el mismo que la consulta o hash actual.
    • Use exact-query="partial" para estilizar con active-class cuando el enlace está activo y la consulta coincide parcialmente con la consulta actual.

El incentivo detrás de esto es proporcionar la misma API que NuxtLink en Nuxt 2/Vue 2. Puede leer más al respecto en la guía Vue Router migration de Vue 2.

Es utilizado por los componentes Breadcrumb, Button, xxph030, [DropdownMenuxph046/docs/components/dropdown-menu) y [xNavigationMenu/docs/components/navigation-menu).

xp053xTítulos

Los componentes Link representan una etiqueta <a> cuando se proporciona un soporte to, de lo contrario representa una etiqueta <button>.

<template>
  <ULink as="button">Link</ULink>
</template>
Puede inspeccionar el HTML renderizado cambiando la prop. to.

Estilo

De forma predeterminada, el enlace tiene estilos activos e inactivos predeterminados, consulte la sección #theme.

<template>
  <ULink to="/docs/components/link">Link</ULink>
</template>
Intente cambiar el prop to para ver los estados activo e inactivo.

Puede anular este comportamiento usando el prop raw y proporcionar sus propios estilos usando class, active-class y inactive-class.

<template>
  <ULink raw to="/docs/components/link" active-class="font-bold" inactive-class="text-muted">Link</ULink>
</template>
Si está utilizando la extensión Tailwind CSS IntelliSense para VSCode y desea obtener la autofinalización para los accesorios active-class y inactive-class, puede agregar la siguiente configuración a su .vscode/settings.json:
.vscode/settings.json
{
  "tailwindCSS.classAttributes": [
    "active-class",
    "inactive-class"
  ]
}

Ubicación: badge{label="4.7+" class="align-text-top"}

El componente Link se integra automáticamente con @nuxtjs/i18n cuando se instala. Los enlaces internos se localizan automáticamente con el ayudante $localePath sin necesidad de empaquetar manualmente.

<template>
  <!-- Automatically becomes /en/about or /fr/about based on current locale -->
  <ULink to="/about">About</ULink>
</template>
Todavía puede usar manualmente localePath() o localeRoute() si es necesario.
Obtenga más información sobre Internacionalización en Nuxt UI.

API (Edición española)

Props (Edición española)

Prop Default Type
as
'button'
any

The element or component this component should render as when not a link.

type
'button'
"reset" | "submit" | "button"

The type of the button when not a link.

disabled
boolean
active
undefined
boolean

Force the link to be active independent of the current route.

exact
boolean

Will only be active if the current route is an exact match.

exactQuery
boolean | "partial"

Allows controlling how the current route query sets the link as active.

exactHash
boolean

Will only be active if the current route hash is an exact match.

inactiveClass
string

The class to apply when the link is inactive.

raw
boolean

When true, only styles from class, activeClass, and inactiveClass will be applied.

locale
undefined
string | false | true

Control i18n auto-localization when @nuxtjs/i18n is installed.

  • undefined / true (default): auto-localizes to the current locale using $localePath. Paths already carrying a locale prefix (from e.g. switchLocalePath()) are detected and left untouched to prevent double-prefixing.
  • false: explicitly disables auto-localization.
  • string: localizes to a specific locale (e.g. 'fr').
to
string | it | et

Route Location the link should navigate to when clicked on.

href
string | it | et

An alias for to. If used with to, href will be ignored

external
boolean

Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases

target
null | string | "_blank" | "_parent" | "_self" | "_top"

Where to display the linked URL, as the name for a browsing context.

rel
null | "noopener" | "noreferrer" | "nofollow" | "sponsored" | "ugc" | string

A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.

noRel
boolean

If set to true, no rel attribute will be added to the link

prefetchedClass
string

A class to apply to links that have been prefetched.

prefetch
boolean

When enabled will prefetch middleware, layouts and payloads of links in the viewport.

prefetchOn
"visibility" | "interaction" | Partial<{ visibility: boolean; interaction: boolean; }>

Allows controlling when to prefetch links. By default, prefetch is triggered only on visibility.

noPrefetch
boolean

Escape hatch to disable prefetch attribute.

trailingSlash
"remove" | "append"

An option to either add or remove trailing slashes in the href for this specific link. Overrides the global trailingSlash option if provided.

activeClass
string

Class to apply when the link is active

exactActiveClass
string

Class to apply when the link is exact active

ariaCurrentValue
'page'
"step" | "page" | "true" | "false" | "location" | "date" | "time"

Value passed to the attribute aria-current when the link is exact active.

viewTransition
boolean

Pass the returned promise of router.push() to document.startViewTransition() if supported.

replace
boolean

Calls router.replace instead of router.push.

name
string
autofocus
false | true | "true" | "false"
form
string
formaction
string
formenctype
string
formmethod
string
formnovalidate
false | true | "true" | "false"
formtarget
string
referrerpolicy
"" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"
download
any
hreflang
string
media
string
ping
string
Este componente también soporta todos los atributos HTML <a> nativos.

Slots

Slot Type
default
{ active: boolean; }

Temas

app.config.ts
export default defineAppConfig({
  ui: {
    link: {
      base: 'outline-primary/25 focus-visible:outline-3 rounded-md',
      variants: {
        active: {
          true: 'text-primary',
          false: 'text-muted'
        },
        disabled: {
          true: 'cursor-not-allowed opacity-75'
        }
      },
      compoundVariants: [
        {
          active: false,
          disabled: false,
          class: [
            'hover:text-default',
            'transition-colors'
          ]
        }
      ]
    }
  }
})
vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'

export default defineConfig({
  plugins: [
    vue(),
    ui({
      ui: {
        link: {
          base: 'outline-primary/25 focus-visible:outline-3 rounded-md',
          variants: {
            active: {
              true: 'text-primary',
              false: 'text-muted'
            },
            disabled: {
              true: 'cursor-not-allowed opacity-75'
            }
          },
          compoundVariants: [
            {
              active: false,
              disabled: false,
              class: [
                'hover:text-default',
                'transition-colors'
              ]
            }
          ]
        }
      }
    })
  ]
})

Changelog (Edición española)

No recent changes