2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vue.js 初心者向けガイド

Posted at

Vue.js入門ガイド:ディレクティブとイベント処理

はじめに
Vue.jsの大きな特徴は、HTMLに「ディレクティブ」と呼ばれる特別な属性を追加することで、動的な動きを簡単に書けることです。さらに、イベント処理を組み合わせることで、ユーザーの操作に応じたインタラクティブなWebアプリを作ることができます。
この記事では、初心者がまず覚えるべき ディレクティブ と イベント処理 を紹介します。

1. v-if / v-else

機能
条件によって要素を表示・非表示にするディレクティブです。

<p v-if="age >= 20">成人です</p>
<p v-else>未成年です</p>

解説

  • v-if="age >= 20" → age が20以上ならこの

    要素を表示

  • v-else → 上の条件が false の場合に表示される
  • VueはDOMから要素を完全に削除・追加するので、
    パフォーマンス的にも効率的
    → 例えば「ログインしているかどうか」で表示を切り替える場面に使えます

2. v-for

機能
配列やオブジェクトを繰り返し表示するディレクティブです。

<ul>
  <li v-for="(fruit, index) in fruits" :key="index">
    {{ index }}: {{ fruit }}
  </li>
</ul>

解説

  • v-for="(fruit, index) in fruits" → 配列 fruits の要素を順番に取り出す
  • fruit → 要素の値
  • index → 要素の番号(0から始まる)
  • :key="index" → Vueが要素を効率的に再描画するための識別子
    → リスト表示やテーブル生成など、繰り返し要素を扱う場面で必須です

3. v-bind

機能
HTML属性に変数を埋め込むディレクティブです。

<img v-bind:src="imageUrl" alt="写真">

解説

  • v-bind:src="imageUrl" → 変数 imageUrl の値を src 属性に反映
  • v-bind は[:]に省略して :src="imageUrl" と書ける
  • クラスやスタイルの切り替えにも使える
<p :class="{ active: isActive }">状態によって色が変わります</p>

→ 状態に応じて属性を動的に変えたいときに便利です

4. v-model

機能
フォーム入力とデータを双方向に結びつけるディレクティブです。

<input v-model="message" placeholder="入力してください">
<p>入力内容: {{ message }}</p>

解説

  • 入力欄に文字を入力すると、変数 message に即座に反映される
  • 逆に message を変更すると、入力欄の内容も更新される
  • 双方向バインディングなので、フォーム処理が非常に簡単になる
    → チャットアプリや検索フォームなど、入力内容をリアルタイムで扱う場面に最適です

5. イベント処理(@click / @input など)

機能
ユーザー操作に応じて処理を実行する仕組みです。

<button @click="sayHello">クリックして挨拶</button>
methods: {
  sayHello() {
    alert("こんにちは!");
  }
}

解説

  • @click="sayHello" → ボタンがクリックされたら sayHello メソッドを実行
  • methods 内に定義した関数を呼び出せる
  • JavaScriptの addEventListener よりシンプルに書ける

イベントオブジェクトを使う

<input @input="showText">
methods: {
  showText(event) {
    console.log("入力された文字:", event.target.value);
  }
}

解説

  • event → イベントの詳細情報(入力値やクリックした要素など)
  • event.target.value → 入力欄の文字を取得
    → 入力内容をリアルタイムで処理する場面に便利です

引数を渡す

<button @click="addCount(5)">+5</button>
methods: {
  addCount(num) {
    this.count += num;
  }
}

解説

  • @click="addCount(5)" → ボタンを押すと num=5 が渡される
  • this.count += num → カウントを5増やす
    → 複数のボタンで異なる値を渡すなど、柔軟な処理が可能です

まとめ

この記事では、Vue.js初心者がまず覚えるべき ディレクティブ と イベント処理 を紹介しました。

ディレクティブ

  • v-if / v-else → 条件分岐で表示を切り替える
  • v-for → 配列やオブジェクトを繰り返し表示
  • v-bind → 属性を動的に変更(クラスやスタイルも制御可能)
  • v-model → フォーム入力とデータを双方向に結びつける

イベント処理

  • @click@input でユーザー操作に応じた処理を実行
  • イベントオブジェクトを使って詳細情報を取得
  • 引数を渡して柔軟な処理を実現
    → Vue.jsの中でも、ディレクティブとイベント処理を理解すれば、フォームやリスト表示などの基本的なWebアプリをすぐに作れるようになります。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?