Vue.jsロゴ

[Vue.js]ディレクティブとは

投稿日:

カテゴリー:

この記事はUdemyの講座「Vue JS入門決定版!jQueryを使わないWeb開発 – 導入からアプリケーション開発まで体系的に動画で学ぶ」の学習を進めながら書いた記事になります。Vue.jsに関する記事の一覧はこちらからご覧いただけます。

今回はディレクティブというものを学習していきます。

ディレクティブとは

ディレクティブとは一体何なのか。

「ディレクティブ」とは

v- で始まる特別な属性のこと。directive(指令)という名前通り、Vue.jsに何からの指示を行う仕組み。

代表的なディレクティブにはこのようなものがあるらしい。

  • v-bind
  • v-if
  • v-show
  • v-for
  • v-on
  • v-model
https://jp.vuejs.org/v2/guide/syntax.html#%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96
公式サイトでの解説はこちら

属性のデータバインディング v-bind

例題が出ました。

  • テキスト入力の入力欄に”Helo Vue.js”と表示
  • 補足:dataオプションに指定したデータをデータバインディングする

とのこと。こちらを作っていくということらしいです。

HTML側にinputを作成

HTML側にinput部分を作成。最初はこんな感じで。

<div id="app">
  <input type="text">
</div>

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

JavaScript側にデータを持たせる

JavaScript側にデータを用意しましょう。

var app = new Vue({
	el: '#app',
  data: {
  	message: 'Hello Vue.js!'
  }
})

inputのvalue属性を設定

こうですね。

<input type="text" value="">

ここで今までの流れでマスタッシュ構文({{ mustache }})で書きたくなりますが、valueの値にそのままマスタッシュ構文を入れても、そのまま表示されてしまいます。

属性にマスタッシュ構文は使用することができません

マスタッシュ構文はテキストコンテンツのために記法のため、属性に使用することはできない。

属性へのデータバインディングにはv-bindを利用します。

<input type="text" v-bind:value="message">

こうすることによって、属性にデータを渡すことができます。公式のリファレンスはこちらになります。

https://jp.vuejs.org/v2/api/#v-bind

次回以降、他のディレクティブの学習も進められるようです。楽しいですね!

Vue.js以外にも基本的なWebスキルを動画で受講することができます。年に何回かセールがあるので、その時にまとめて購入するのがおすすめです。

Gifu WordPress Meetup の
運営・開催に協力しています。

WordPress Meetup とは、世界各国 100 以上の国々で 700 余りの グループが活動している WordPress コミュニティです。

オレインデザイン代表 久野晃司は、岐阜での WordPress Meetup の運営・開催に協力しています。

CoderDojo岐阜 の
運営・開催に協力しています。

CoderDojo とは 7〜17歳を対象とした非営利のプログラミング道場で、CoderDojo岐阜は岐阜県岐阜市にある みんなの森 ぎふメディアコスモス を拠点として毎月定期開催をしています。

オレインデザインは、CoderDojo岐阜へ寄付を行い、定期的かつ安定的な運営と開催に協力をしています。