ディレクティブ(v-if, v-show, v-for, v-model)

Vue.jsが提供している主なディレクティブについて要点をまとめます。「v-ifとv-showの違い」「v-forを利用する上での注意点」などを確認していきます。

Mustache構文( {{}} )

ディレクティブではないですが、v-html と比較して説明しておきたいので取り上げます。

<div>Length: {{ list.length }}</div>

ディレクティブ

v-html

<div v-html="rawHtml"></div>

v-bind( : )

<div :class="{ red: isRed }"></div>

<div :class="[ classA, classB ]"></div>

<div :class="[ 'navbar', { 'is-active': visibleNav } ]"></div>
  • 要素の属性を束縛します。
  • 省略記法( : )が利用できます。
  • 親から子コンポーネントへと動的にデータを渡すのにも利用されます。
  • https://jp.vuejs.org/v2/api/#v-bind

v-if

<div v-if="isTokyo">
  Tokyo
</div>
<div v-else-if="isOsaka">
  Osaka
</div>
<div v-else>
  Not Tokyo/Osaka
</div>

v-show

<div v-show="isTokyo">Tokyo</div>

v-for

<div v-for="(item, index) in items"></div>

v-on( @ )

<form :submit.prevent></form>

<app-modal
  @open="handleOpen"
  @close="handleClose"/>
  • イベントハンドリングに利用します。
  • 省略記法( @ )が利用できます。
  • stop prevent などの イベント修飾子 も利用できます。
  • enter up など、キーコードチェックを行うための キー修飾子 も利用できます。
  • https://jp.vuejs.org/v2/guide/events.html

v-model

<input v-model="name">

<input v-model.trim="message">
  • フォーム入力時の双方向データバインディングに利用します。
  • number trim などの修飾子を利用できます。
  • フォームタイプ(input textarea checkbox など)によって指定方法にバリエーションがあります。
  • https://jp.vuejs.org/v2/guide/forms.html
わくわくBank.
フリーランスのエンジニアとして活動してます。ここでは、ソフトウェア開発で必要とされる技術、用語、概念を整理しています。