Vue.js 定義した文字列を仮想DOMで表示する

こちらはアンテクアドベントカレンダー2021の記事ですhttps://adventar.org/calendars/6534

皆さんこんにちは、サーバーサイドエンジニアの大川です。前回「Vue.jsの始め方」について記載しました。
今回は前回の記事で使用したソースを解説しつつVueで定義した文字列を仮想DOM側で表示する方法をまとめます。仮想DOMがなんだかわからないよ〜という方は「script要素内のVueで定義した文字列をbody要素内に表示するんだな〜」くらいに思っておいてください!

前回のソース

まずは前回記載したindex.htmlファイルのソースを下記に記載します。

<!DOCTYPE html>
<html lang="ja">
<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">
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <title>Document</title>
</head>
<body>
    <header></header>
    <main>
        <div id="app">
            {{ message }}
        </div>
    </main>
    <footer></footer>
    <script>
        let app = new Vue({
            el: '#app',
            data(){
                return {
                    message: 'Hello Japan'
                }
            },
        })
    </script>
</body>
</html>
  • 上記ファイルをブラウザで開くと下記のように表示されます。

前回のソース

まずはmain要素内部から見てゆきましょう!下記にmain要素内部のソースを記載します。

<div id="app">
    {{ message }}
</div>

div要素にid「app」を設定してその中にマスタッシュ構文でvueのmessageの内容を表示するように指定しています。

次にscript要素内を見てゆきましょう!下記にscript要素のソースを記載します。

<script>
    let app = new Vue({
        el: '#app',
        data(){
            return {
                message: 'Hello Japan'
            }
        },
    })
</script>

変数appを定義して、その中にインスタンス化したvueを格納しています。
インスタンス化されているvueのソースではelオプションを用いてmain要素内部の範囲(今回で言う所のdiv要素のid名)を指定しています。
dataメソッドでキーであるmessage:を定義して値は「Hello Japan」を格納しています。

この2つの要素でvueで記載した文字列が画面に表示されていたということです!

最後に

以上で準備時に記載したソースの解説は以上です!次回はいよいよ本格的にVueのソースを記載してゆこうと思います!

TAGS使用タグ一覧