プログラミングライフスタイル

「Vue.js」の「フォーム部品」を利用したプログラムの作り方

今回は、前回作成した「Vue.js」のプログラムの内容を詳しく見ていきたいと思います。

まだ「Vue.js」の学習を始めたところですが、「明確な利点」がわかると学習にも意欲が湧いてきますね。

「Vueインスタンス」の仕組み

「Vue.js」では、「Vueインスタンス」というものを作り、そこに「データ」や「メソッド」を定義することができます。

作成した「Vueインスタンス」は「HTML要素」に割り当てられます。

そして、「Vueインスタンス」で定義した「データ」や「メソッド」を利用出来るのは「割り当てられたHTML要素内」に限定されます。

例えば、上図のように「Vueインスタンス」を「HTML要素1」にマウントする(割り当てる)と、「HTML要素1」内では「inputValue」と「inputValue2」を使うことができますが、「Vueインスタンス」をマウントしていない「HTML要素2」では使うことができません。

前回作成したプログラムで「Vueインスタンス」を作成する際に「elプロパティ」で「HTML要素のID属性の値」を指定していました。

let app = new Vue({
	el: '#app',
	data: {
		inputValue: "Hello, World!",
	}
})

この例では「app」という「ID属性の値」を持つ「HTML要素」に「Vueインスタンス」を割り当てています。

今回は、

<div id="app">
	<input type="text" v-model="inputValue">
	<p>{{ inputValue }}</p>
</div>

のように

「input要素」と「p要素」を内包している「div要素」に「ID属性の値=app」が設定されていました。

「inputValue」が使えるのはこの「div要素」の中に限定されます。

チェックボックス

「Vue.js」で「チェックボックス」も作成してみました。

今回から「Body要素」の内容のみを書いていきたいと思います。

<div id="app">
	<input type="checkbox" v-model="checkStatus">Item1
	<p v-if="checkStatus">※Item1がチェックされています。</p>
</div>
<script>
	let app = new Vue({
		el: '#app',
		data: {
			checkStatus: false,
		}
	})
</script>

このプログラムを実行すると、

→「Vue.jsプログラムの実行(チェックボックス)」

のようになります。

「チェックボックス」をチェックすると「p要素のメッセージ」が表示されます。

ここで「v-if」という新しい記法が出てきました。

このように条件によって処理を分岐したい時は「v-if」を利用します。

<p v-if="checkStatus">※Item1がチェックされています。</p>

「Vueインスタンス」の「checkStatus」の値が「false」なら「p要素」は表示されず「true」なら「p要素」が表示されるようになっています。

条件を指定するだけで、「表示の切り替え」を自動で行ってくれるのでかなり負担が減りますね。

ラジオボタン

「ラジオボタン」を「Vue.js」で扱うプログラムは下記のようになります。

<div id="app">
	<input type="radio" v-model="radioStatus" value="item1">Item1
	<input type="radio" v-model="radioStatus" value="item2">Item2
	<input type="radio" v-model="radioStatus" value="item3">Item3
	<input type="radio" v-model="radioStatus" value="item4">Item4
	<input type="radio" v-model="radioStatus" value="item5">Item5
	<p>{{ radioStatus }}が選択されています。</p>
</div>
<script>
	let app = new Vue({
		el: '#app',
		data: {
			radioStatus: "item1",
		}
	})
</script>

このプログラムを実行すると、

→「Vue.jsプログラムの実行(ラジオボタン)」

のようになります。

「ラジオボタン」をクリックすると、「p要素」にクリックされた要素の「value属性の値」が表示されます。

「v-model」で「radioStatus」を設定し、クリックされた「ラジオボタン」の「value属性の値」が「radioStatus」に格納されています。

セレクトボックス

「セレクトボックス」を「Vue.js」で扱うプログラムは下記のようになります。

<div id="app">
	<select name="type" id="data" v-model="selectStatus">
		<option value="データ1">データ1</option>
		<option value="データ2">データ2</option>
		<option value="データ3">データ3</option>
		<option value="データ4">データ4</option>
		<option value="データ5">データ5</option>
	</select>
	<p>「{{ selectStatus }}」が選択されています。</p>
</div>
<script>
	let app = new Vue({
		el: '#app',
		data: {
			selectStatus: "データ1",
		}
	})
</script>

このプログラムを実行すると、

→「Vue.jsプログラムの実行(セレクトボックス)」

のようになります。

「セレクトボックス」から項目を選択すると、「p要素」に選択された要素の「value属性の値」が表示されます。

「v-model」で「selectStatus」を設定し、選択された「セレクトボックス」の「value属性の値」が「selectStatus」に格納されています。

→(前へ)「Vue.js」の「イベント処理」について学ぼう!

→(次へ)「算出プロパティ」と「フィルター」を学ぼう!

HOMEへ