VueJS 速習チュートリアル

Vue テンプレート

1. Vue テンプレートとは

Vue における テンプレート(Template) とは、アプリケーションの HTML 部分を指します。

後ほど学習する .vue ファイルでは、<template> タグを使用してコードをより適切に構造化することになります。また、Vue インスタンスの設定オプションとして template を使用し、その中に HTML コードを直接記述することも可能です。

2. Vue 設定オプションとしてのテンプレート

設定オプションとして template を使用する例を見てみましょう。以下のシンプルな例では、本来 HTML 側にあった記述を Vue インスタンスの設定オプション内へ移動させています。

2.1 実装例:インラインテンプレート

<div id="app"> の内部にあった HTML コンテンツを template オプションに移動し、バッククォート(`...`)で囲んでいます。バッククォートを使用することで、複数行にわたる HTML を記述できるようになります。

<div id="app"></div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
    // HTML構造をJavaScript側に定義
    template:
      `<h1>{{ message }}</h1>
      <p>これはバッククォート内に記述された、複数行のHTMLコードです</p>`,
    data() {
      return {
        message: "Hello World!(こんにちは、世界!)"
      }
    }
  })
app.mount('#app')
</script>

3. 単一ファイルコンポーネント (SFCs)

上記の例のように、Vue アプリケーションの HTML 部分を Vue インスタンス内にまとめることは可能ですが、これだけでは HTML ファイルの見通しが劇的に良くなるわけではありません。

よりプロジェクトの見通しを良くし、大規模な開発を円滑に進め、優れた 開発環境(Development Environment) の恩恵を受けるために、ここからはコードを SFC(Single File Component)、つまり *.vue ファイルに記述する方法へと切り替えていきます。

4. *.vue ファイルの構成要素

すべての *.vue ファイルは、論理的に関心事が分離された以下の3つのパートのみで構成されています。

  • <template>: HTML コンテンツを記述するエリアです。
  • <script>: Vue のロジック(JavaScript/TypeScript)を記述するエリアです。
  • <style>: CSS のスタイリングを記述するエリアです。

ただし、*.vue ファイルを実際のプロジェクトで使用するためには、コンピュータに適切なビルド環境を構築する必要があります。これについては、本チュートリアルの次のページで詳しく解説します。