了解しました。
Vue.jsの概要と特徴に加えて、実際に動く「最小のVue 2.7アプリケーション」のコードを提示し、一行ごとに解説していきます。
Vue.jsは、HTMLを拡張するように使えるJavaScriptフレームワークです。
「データと画面をつなぐ仕組み(リアクティブバインディング)」がとてもシンプルに書けます。
では、実際にコードを見てみましょう。
index.html
<!-- Vue.js本体をCDNで読み込む -->
<script src="<https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js>"></script>
<!-- HTMLの本体 -->
<div id="app">
<!-- message変数の内容を表示する -->
<h1>{{ message }}</h1>
<!-- ボタンクリックでメソッドが呼ばれる -->
<button v-on:click="changeMessage">メッセージを変更</button>
</div>
<!-- Vueインスタンスの作成 -->
<script>
// Vueアプリケーションの本体を定義
new Vue({
// HTML上で制御する範囲を指定(#appの中)
el: '#app',
// データ(アプリの状態)を定義
data: {
// 初期表示するメッセージ
message: 'こんにちは、Vue!'
},
// イベント時の処理(関数)を定義
methods: {
// ボタンを押したときの処理内容
changeMessage() {
// messageを変更して、表示をリアルタイムで更新
this.message = 'ボタンが押されました!';
}
}
});
</script>
<!-- Vue.js本体をCDNで読み込む -->
<script src="<https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js>"></script>
Vueの本体を外部CDNから読み込みます(バージョンは2.7.14)。これでVueが使えるようになります。
<!-- HTMLの本体 -->
<div id="app">
Vueが管理する対象のDOM(アプリの表示領域)を指定しています。
<!-- message変数の内容を表示する -->
<h1>{{ message }}</h1>
{{ message }}
で、Vueインスタンス内のdata.message
を表示します。これがリアクティブバインディング。
<!-- ボタンクリックでメソッドが呼ばれる -->
<button v-on:click="changeMessage">メッセージを変更</button>