UNPKG

bootstrap-vue

Version:

With more than 85 components, over 45 available plugins, several directives, and 1000+ icons, BootstrapVue provides one of the most comprehensive implementations of the Bootstrap v4 component and grid system available for Vue.js v2.6, complete with extens

77 lines (53 loc) 2.74 kB
# Link > Use BootstrapVue's custom `b-link` component for generating a standard `<a>` link or > `<router-link>`. `<b-link>` supports the `disabled` state and `click` event propagation. `<b-link>` is the building block for most BootstrapVue components that offer link functionality. ```html <div> <b-link href="#foo">Link</b-link> </div> <!-- b-link.vue --> ``` ## Link type By specifying a value in the `href` prop, a standard link (`<a>`) element will be rendered. To generate a `<router-link>` instead, specify the route location via the `to` prop. Router links support various additional props. Refer to the [Router support](/docs/reference/router-links) reference section for details. If your app is running under [Nuxt.js](https://nuxtjs.org), the [`<nuxt-link>`](https://nuxtjs.org/api/components-nuxt-link) component will be used instead of `<router-link>`. The `<nuxt-link>` component supports all the same features as `<router-link>` (as it is a wrapper component for `<router-link>`) and more. ### Third party router links BootstrapVue auto detects using `<router-link>` and `<nuxt-link>` link components. Some 3rd party frameworks also provide customized versions of `<router-link>`, such as [Gridsome's `<g-link>` component](https://gridsome.org/docs/linking/). `<b-link>` can support these third party `<router-link>` compatible components via the use of the `router-component-name` prop. All `vue-router` props (excluding `<nuxt-link>` specific props) will be passed to the specified router link component. Note that the 3rd party component will only be used when the `to` prop is set. ## Links with `href="#"` Typically `<a href="#">` will cause the document to scroll to the top of page when clicked. `<b-link>` addresses this by preventing the default action (scroll to top) when `href` is set to `#`. If you need scroll to top behaviour, use a standard `<a href="#">...</a>` tag. ## Link disabled state Disable link functionality by setting the `disabled` prop to true. ```html <div> <b-link href="#foo" disabled>Disabled Link</b-link> </div> <!-- b-link-disabled.vue --> ``` Disabling a link will set the Bootstrap v4 `.disabled` class on the link as well as handles stopping event propagation, preventing the default action from occurring, and removing the link from the document tab sequence (`tabindex="-1"`). **Note:** Bootstrap v4 CSS currently does not style disabled links differently than non-disabled links. You can use the following custom CSS to style disabled links (by preventing hover style changes): ```css a.disabled { pointer-events: none; } ``` Not all browsers support `pointer-events: none;`. <!-- Component reference added automatically from component package.json -->