リンク

標準の <a> リンクまたは <router-link> を生成するには、BootstrapVue のカスタム b-link コンポーネントを使用します。 <b-link> は、disabled 状態と click イベントの伝播をサポートします。

<b-link> は、リンク機能を提供するほとんどの BootstrapVue コンポーネントの基礎となります。

<div>
  <b-link href="#foo">Link</b-link>
</div>

<!-- b-link.vue -->

href プロパティに値を指定することで、標準のリンク(<a>)要素がレンダリングされます。代わりに <router-link> を生成するには、to プロパティを介してルートの場所を指定します。

ルーターリンクは、さまざまな追加プロパティをサポートしています。詳細は、ルーターサポート リファレンスセクションを参照してください。

アプリが Nuxt.js で実行されている場合、<router-link> の代わりに <nuxt-link> コンポーネントが使用されます。<nuxt-link> コンポーネントは、<router-link> と同じ機能をすべてサポートしており(<router-link> のラッパーコンポーネントであるため)、さらに多くの機能を備えています。

BootstrapVue は、<router-link> および <nuxt-link> リンクコンポーネントの使用を自動的に検出します。一部のサードパーティフレームワークでは、Gridsome の <g-link> コンポーネント など、カスタマイズされたバージョンの <router-link> も提供されています。<b-link> は、router-component-name プロパティを使用することで、これらのサードパーティの <router-link> 互換コンポーネントをサポートできます。すべての vue-router プロパティ(<nuxt-link> 特有のプロパティを除く)は、指定されたルーターリンクコンポーネントに渡されます。

サードパーティコンポーネントは、to プロパティが設定されている場合にのみ使用されることに注意してください。

通常、<a href="#"> をクリックすると、ドキュメントがページの先頭にスクロールします。<b-link> は、href# に設定されている場合にデフォルトのアクション(先頭へのスクロール)を防ぐことで、この問題に対処します。

先頭へのスクロール動作が必要な場合は、標準の <a href="#">...</a> タグを使用してください。

disabled プロパティを true に設定することで、リンク機能を無効にします。

<div>
  <b-link href="#foo" disabled>Disabled Link</b-link>
</div>

<!-- b-link-disabled.vue -->

リンクを無効にすると、リンクに Bootstrap v4 .disabled クラスが設定されるだけでなく、イベントの伝播の停止、デフォルトのアクションの発生の防止、ドキュメントのタブシーケンスからのリンクの削除(tabindex="-1")が処理されます。

**注意:** Bootstrap v4 CSS は現在、無効なリンクと有効なリンクのスタイルを区別していません。無効なリンクのスタイルを設定するには、次のカスタム CSS を使用できます(ホバースタイルの変更を防ぐことによって)。

a.disabled {
  pointer-events: none;
}

すべてのブラウザが pointer-events: none; をサポートしているわけではありません。

コンポーネントリファレンス

すべてのプロパティのデフォルト値は、グローバルに設定可能です。

プロパティ
(クリックして昇順にソート)
タイプ
(クリックして昇順にソート)
デフォルト
説明
active
真偽値false`true` に設定すると、コンポーネントがアクティブ状態になり、アクティブなスタイリングが適用されます。
active-class
文字列<router-link> プロパティ: リンクがアクティブなときに適用されるアクティブ CSS クラスを設定します。通常はクラス名 'active' に設定します。
append
真偽値false<router-link> プロパティ: append プロパティを設定すると、常に相対パスが現在のパスに追加されます。
disabled
真偽値false`true` に設定すると、コンポーネントの機能が無効になり、無効状態になります。
event
配列 または 文字列<router-link> プロパティ: リンクをトリガーするイベントを指定します。ほとんどの場合、デフォルトのままにしておく必要があります。
exact
真偽値false<router-link> プロパティ: デフォルトのアクティブクラスのマッチング動作は包含一致です。このプロパティを設定すると、モードがルートと完全に一致するように強制されます。
exact-active-class
文字列<router-link> プロパティ: リンクが完全に一致してアクティブなときに適用されるアクティブ CSS クラスを設定します。通常はクラス名 'active' に設定します。
exact-path
真偽値false<router-link> プロパティ: URL のパスセクションのみを使用して一致させることができ、クエリとハッシュセクションは事実上無視されます。
exact-path-active-class
文字列<router-link> プロパティ: リンクがパスと完全に一致してアクティブなときに適用されるアクティブ CSS クラスを設定します。通常はクラス名 'active' に設定します。
href
文字列標準の a リンクのターゲット URL を示します。
no-prefetch
真偽値false<nuxt-link> プロパティ: Nuxt.js アプリケーションの応答性を向上させるために、リンクがビューポート内に表示されると、Nuxt.js はコード分割されたページを自動的にプリフェッチします。 `no-prefetch` を設定すると、特定のリンクに対してこの機能が無効になります。
prefetch
v2.15.0+
真偽値null<nuxt-link> プロパティ: Nuxt.js アプリケーションの応答性を向上させるために、リンクがビューポート内に表示されると、Nuxt.js はコード分割されたページを自動的にプリフェッチします。 `prefetch` を `true` または `false` に設定すると、`router.prefetchLinks` のデフォルト値が上書きされます。
rel
文字列nullレンダリングされたリンクの 'rel' 属性を設定します。
replace
真偽値false<router-link> プロパティ: replace プロパティを設定すると、クリックされたときに `router.push()` の代わりに `router.replace()` が呼び出されるため、ナビゲーションは履歴レコードを残しません。
router-component-name
v2.15.0+
文字列<b-link> プロパティ: BootstrapVue は、`<router-link>` と `<nuxt-link>` を自動的に検出します。 `<router-link>` に基づくサードパーティのリンクコンポーネントを使用する場合は、このプロパティをコンポーネント名に設定します。たとえば、Gridsome を使用している場合は 'g-link' に設定します ( `<router-link>` 特有のプロパティのみがコンポーネントに渡されることに注意してください)。
router-tag
文字列<router-link> プロパティ: レンダリングするタグを指定します。ナビゲーションのためにクリックイベントをリッスンし続けます。 `router-tag` は、最終的にレンダリングされた `<router-link>` の tag プロパティに変換されます。通常はデフォルト値を使用する必要があります。
target
文字列'_self'レンダリングされたリンクの 'target' 属性を設定します。
to
オブジェクト または 文字列<router-link> プロパティ: リンクのターゲットルートを示します。クリックされると、to プロパティの値が内部で `router.push()` に渡されるため、値は文字列または Location 記述子オブジェクトのいずれかになります。

<b-link><router-link> または <nuxt-link> コンポーネント (Nuxt.js を使用している場合) の生成をサポートしています。ルーターリンク (または nuxt リンク) 特有のプロパティの詳細については、ルーターサポート リファレンスセクションを参照してください。

名前
説明
default リンクに配置するコンテンツ
イベント
引数
説明
bv::link::clicked
  1. ネイティブクリックイベント
リンクがクリックされたときに `$root` で発行されます
click
  1. ネイティブクリックイベント
リンクがクリックされたときに発行されます

個々のコンポーネントのインポート

次の名前付きエクスポートを介して、個々のコンポーネントをプロジェクトにインポートできます。

コンポーネント
名前付きエクスポート
インポートパス
<b-link>BLinkbootstrap-vue

import { BLink } from 'bootstrap-vue'
Vue.component('b-link', BLink)

Vue.jsプラグインとしてのインポート

このプラグインには、上記の個々のコンポーネントがすべて含まれています。. プラグインには、コンポーネントのエイリアスも含まれています。

名前付きエクスポート
インポートパス
LinkPluginbootstrap-vue

import { LinkPlugin } from 'bootstrap-vue'
Vue.use(LinkPlugin)