【Vue.js】⑥コンポーネントに登録してローカルに表示

「コンポーネント」とは?

【Vue.js】でよく見かける「コンポーネント」についての練習。

「コンポーネント」とは、

「部品ごとにテンプレートとJavaScriptをセットにして、独立管理できる」もの(らしい)。

 

コーディングしていると、

「JavaScriptは[.js]ファイルに」

「CSSは[.css]ファイルに」

と分散させて管理しますね。

 

「正直めんどくさい」

「1つのファイルで管理したいけど、ファイルにスクリプトタグ入れるわけにいかんし」

という「何とかなりそうだけれども、解決方法シラネ」関連のお悩みの解決方法は【Vue.js】が持っていたという認識です。

よくわからんのでとりあえず触ってみます。

 

【サンプル】

「コンポーネント定義」と表示されれば成功。

 

HTML部分

<!doctype html>
<html lang="ja" class="no-js">
<head>
    <meta charset="utf-8">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <my-component></my-component>
    </div>
</body>
</html>

JavaScript部分

<script>
    var myComponent = {

        template: '<p>コンポーネント定義</p>'
    }
    var app = new Vue({
        el: '#app',
        components: {
            'my-component': myComponent
        }
    })
</script>

コンポーネント表示の仕組みについて

①HTML部分にコンポーネントの建設予定地を決める。

    <div id="app">
        <my-component></my-component>
    </div>

毎度お決まりの<div>タグ内にコンポーネント用のタグを書き込みます。

<my-component>のインスタンスは自分で定義しただけなので、お好きなインスタンス名を設定可能です。

 

②JavaScriptでテンプレートを宣言

    var myComponent = {

        template: '<p>コンポーネント定義</p>'
    }

テンプレート用の変数を宣言して「template:」オプションに入れたいHTMLを入力します。

ここのところjQueryぽいですね。

 

いちおう今回はこれで完了です。

【v-if】や【v-show】で表示/非表示を切り替える運用が容易に想像できますね。