Vueでよく使うディレクティブまとめ:v-if, v-for, v-bind などの使い方

Vue.jsは、シンプルで宣言的な構文により、動的なUI構築を効率よく実現できます。その中でも「ディレクティブ」は、DOMの振る舞いを制御する重要な機能です。本記事では、Vueで特によく使われる v-if、v-for、v-bind を中心に、使い方と具体例を交えて解説します。
目次
v-if / v-else-if / v-else:条件によって要素を切り替える
v-if
は、条件に応じてDOM要素を描画・非描画するディレクティブです。
<template>
<div>
<p v-if="isLoggedIn">ログイン済み</p>
<p v-else>ゲストユーザー</p>
</div>
</template>
<script>
export default {
data() {
return {
isLoggedIn: true,
};
},
};
</script>
ポイント
v-else-if
やv-else
と組み合わせることで、条件分岐が可能。- 非表示になるのではなく、DOM自体が生成されないため、パフォーマンス上も有利。
v-show:表示・非表示を切り替える(CSSベース)
v-show
も要素の表示・非表示を制御できますが、こちらは CSS の display: none
を切り替えるだけです。
<p v-show="isVisible">表示されるかも</p>
違い
v-if
:初回はDOMを生成しない。切り替えコストは高い。v-show
:初回からDOMを生成。切り替えは高速。
v-for:リストのループ出力
リストレンダリングは v-for
を使って簡単に実現できます。
<ul>
<li v-for="(item, index) in items" :key="index">
{{ index + 1 }}. {{ item }}
</li>
</ul>
<script>
export default {
data() {
return {
items: ['Apple', 'Banana', 'Cherry'],
};
},
};
</script>
ポイント
:key
は省略せず必ず指定する(仮想DOMの差分更新で重要)。- 配列やオブジェクトもループ可能。
v-bind:属性へのデータバインディング
v-bind
はHTML属性にデータをバインドするために使います。
<img v-bind:src="imageUrl" v-bind:alt="imageAlt">
<!-- 省略記法 -->
<img :src="imageUrl" :alt="imageAlt">
data() {
return {
imageUrl: 'https://example.com/logo.png',
imageAlt: 'ロゴ画像',
};
}
使用例:クラスやスタイルの動的バインド
<div :class="{ active: isActive }">クラスの切り替え</div>
<div :style="{ color: textColor }">スタイルの切り替え</div>
v-model:フォームとの双方向バインディング
ユーザー入力とデータを同期させる場合は v-model
が便利です。
<input v-model="username" placeholder="ユーザー名を入力">
<p>こんにちは、{{ username }} さん!</p>
v-on:イベントリスナーを追加する
v-on
はクリックなどのイベントをハンドリングします。
<button v-on:click="increment">カウントアップ</button>
<!-- 省略記法 -->
<button @click="increment">カウントアップ</button>
<p>カウント:{{ count }}</p>
<script>
export default {
data() {
return {
count: 0,
};
},
methods: {
increment() {
this.count++;
},
},
};
</script>
その他の便利ディレクティブ
ディレクティブ | 役割 |
---|---|
v-pre | Vueの解析をスキップする |
v-cloak | マウント前に一時的に非表示にする |
v-once | 一度だけ描画し、以後更新しない(パフォーマンス向上) |
まとめ:Vueディレクティブを使いこなして効率的な開発を
Vueのディレクティブは、テンプレート内の振る舞いを簡潔に定義できる非常に強力な機能です。
特に v-if
、v-for
、v-bind
、v-model
、v-on
などは、日常的に使う基本ディレクティブとして必須です。まずはこれらをマスターすることで、より読みやすく、保守しやすいVueアプリケーションを構築できるようになります。

Contact
ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい
ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。
デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。