v-bind (:) 属性の動的バインディング
最終更新:2026-10-22
v-bind (:) 属性の動的バインディング
v-bind は式の結果を HTML 属性にバインドします。省略記法はコロンです。class と style はオブジェクト構文と配列構文もサポートします。
| グループ | ディレクティブ |
|---|---|
| 種類 | ディレクティブ |
| スコープ | テンプレート |
| Vue バージョン | 3.0+ |
| SSR 対応 | 対応 |
📝 構文
<a v-bind:href="url">リンク</a>
<img :src="imgSrc" :alt="altText">
<div :class="{ active: isActive }"></div>
<div :style="{ color: textColor }"></div>
⚙️ 引数
| expression | 属性名 + 式。class/style はオブジェクト/配列を受け付け、:[動的属性名] もサポートします |
|---|
戻り値:ディレクティブ。戻り値なし
▶ 例
以下のコードを編集して結果を確認しましょう:
出力:
The anchor points to the tutorial site; 'Status text' carries the hot class.
💡 ポイント
💡 ヒント : は v-bind: の省略記法です。ブール属性(disabled/checked)は false にバインドすると、Vue が自動的に属性を取り除きます。
ℹ️ 補足 class と style の拡張構文:オブジェクト形式はブール値で切り替え、配列形式は複数のソースを結合します。
💡 ヒント v-bind="obj" はオブジェクトの全属性を一度に展開できます(v-bind="$attrs" のような一括透過に便利)。
🏷️ 関連ディレクティブ
💡 関連ケース
関連ケースは近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q 多くの属性を一度にバインドするには?
A v-bind="obj" でオブジェクトの全キーを展開できます。コンポーネントの透過では v-bind="$attrs" がよく使われます。
Q class バインディングでオブジェクトが使えるのはなぜですか?
A Vue は class/style に拡張を施しています。オブジェクト形式 { クラス名: 真偽値 } は条件に応じて連結され、配列形式は複数のソースを結合します。
Q ブール属性はどう制御しますか?
A false または null をバインドすると Vue が自動的に属性を取り除き、true なら追加されます。disabled="" を手書きする必要はありません。