Vue.jsの基礎と利用方法

1. Vue.jsとは?

Vue.jsは、ユーザーインターフェースを構築するためのプログレッシブなJavaScriptフレームワークです。他のSPA(シングルページアプリケーション)フレームワークとは異なり、Vue.jsは段階的に導入できるように設計されています。そのコアライブラリはビュー層に焦点を当てており、簡単な使用感と同時に、現代的なツールチェーンやサポートライブラリと組み合わせて複雑なSPAを構築することができます。

2. 主な特徴

  1. 段階的な採用 Vue.jsはプロジェクトに徐々に統合できます。既存のプロジェクトに単純にVue.jsを挿入することも、Vue RouterやVuexなどのエコシステムを使って高度なSPAを構築することも可能です。

  2. モジュラーコンポーネント Vue.jsの中心となるアイデアはコンポーネントベースの開発です。アプリケーションを独立した再利用可能なコンポーネントに分割することで、開発効率とコードの保守性が向上します。

  3. 双方向データバインディング データとビュー間の同期を簡単に実現するために、Vue.jsはv-modelディレクティブを通じて双方向データバインディングを提供します。

  4. 仮想DOM技術 Vue.jsはパフォーマンスを向上させるために仮想DOMを使用しており、効率的なDOM更新とレンダリングを行います。

  5. 豊富なディレクティブ Vue.jsにはv-ifv-forv-bindなどの便利で直感的なディレクティブが含まれています。

3. 基本的な使い方

(1) インストールと読み込み

Vue.jsはCDN経由で読み込むことも、npmを使用してインストールすることもできます。

<!-- CDNによる読み込み -->
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>

(2) Vueインスタンスの作成

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

<script>
  const sample = new Vue({
    el: '#sample',
    data: {
      message: 'こんにちは、Vue!'
    }
  });
</script>

(3) コンポーネントベースの開発

Vue.component('task-item', {
  props: ['task'],
  template: '<li>{{ task.description }}</li>'
});

const app = new Vue({
  el: '#app',
  data: {
    taskList: [
      { id: 0, description: '野菜を買う' },
      { id: 1, description: 'チーズを購入する' },
      { id: 2, description: '人間が食べるべきものを確認する' }
    ]
  }
});
<div id="app">
  <ul>
    <task-item 
      v-for="task in taskList" 
      v-bind:task="task" 
      v-bind:key="task.id"
    ></task-item>
  </ul>
</div>

4. 実践例

(1) データバインディング
<div id="example">
  <p>{{ content }}</p>
  <input v-model="content">
</div>

<script>
  const example = new Vue({
    el: '#example',
    data: {
      content: 'Vue.jsの紹介'
    }
  });
</script>

(2) 条件付きレンダリング

<div id="conditional">
  <p v-if="isVisible">現在あなたは私を見ることができます</p>
</div>

<script>
  const conditional = new Vue({
    el: '#conditional',
    data: {
      isVisible: true
    }
  });
</script>

(3) リストのレンダリング

<div id="list">
  <ul>
    <li v-for="todo in todos">{{ todo.action }}</li>
  </ul>
</div>

<script>
  const list = new Vue({
    el: '#list',
    data: {
      todos: [
        { action: 'JavaScriptを学ぶ' },
        { action: 'Vue.jsを理解する' },
        { action: '素晴らしいプロジェクトを作成する' }
      ]
    }
  });
</script>

タグ: vue.js javascript frontend

6月2日 18:38 投稿