#概要
Vue.jsでこんにちわを出力するまでについて、まとめました。
#HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/styl.css">
<title>Document</title>
</head>
<body>
<div id="app">
<p>皆さん{{ message }}</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
<script src="js/main.js"></script>
</body>
</html>
Vue.jsは、HTMLのテンプレート構文があります。
今回の実装ではHTMLファイルを使用します。
Vue.jsの機能を適用させるためにbody要素の直下にdiv要素を作ります。id属性を使用します。名前は特に決まりはありません。
JS側で、このidをターゲットにVue.jsが提供するデータや、メソッドを使用します。
このidターゲットがない場合、Vue.jsを使用することが出来ません。
{{...}}これをマスタッシュ構文と言います。これを書くことで、dataオブジェクトのmesaggeプロパティの値を引用することが出来ます。
scriptタグには、Vue本体のCDNを組み込みます。ローカル環境にダウンロードしたVue本体のファイルを読み込み、ユーザーが作成したファイルを実行する方法です。
2つ目のscriptタグにJSファイルを読み込みます。
*注意:2つのスクリプトタグを反対に記述すると、CDNが読み込まれる前にJSファイルが読み込まれてしい、errorになります。
#JS
const app =new Vue({
el:'#app',
data:{
message:'こんにちわ'
}
});
Vue.jsは、Vueクラスをインスタンス化して使用します。
new Vueは、Vueクラスからインスタンスを生成する場合の命令です。
{}の中には、オブジェクトリテラルを書きます。
el ▶Vueインスタンスを結びつけるHTML要素を指定します。
data▶Vue.jsで扱うデータを入れておく場所です。 このデータをHTMLファイルから読み込み画面に表示することが出来ます。テンプレートHTMLから参照できる値を参照できる値を格納したオブジェクトです。なお、マスタッシュ構文に格納できるのは式だけです。代入、条件分岐は使用することは出来ません。
Vue.jsでは、アプリを利用する値をデータオブジェクトで用意して、テンプレートが参照することをデータバインディングと言います。
{マスタッシュ構文}では属性の値などは指定することは出来ません。
属性の変更、条件分岐などはディレクティブを使用します。ディレクティブは[v-]から始まります。