vue.jsの用語を分かりやすく解説!

プログラミング

こんにちは!ぬぁるです。

今回のこの記事では、javascriptのフレームワークである「vue.js」の用語について説明していこうと思います。

他のjsフレームワークと比較して学習コストが低いということで、最近学習を始めたのですが、そうは言っても、少し理解しにくいところもあって、現在進行形で試行錯誤しながら進めています。

そんな中で自分なりにvue.jsの用語が理解できてきたので、自らの知識定着も図りつつ、わかりやすく説明できたらと思います!

Vue.jsの基本的な用語は知ってるけど、まだいまいちよく分かっていない部分もあるというような方は1度目を通してみてください!

ディレクティブ

「v-」で始まる、vue.js特有の記述。htmlタグの属性と同じように記述する。
公式曰く、「DOM 要素に対して何かを実行することをライブラリに伝達する、マークアップ中の特別なトークン」
主にデータバインディングに利用される。

Site not found · GitHub Pages

カスタムディレクティブ

自分でディレクティブを作成・利用できる機能。

Vue.jsのカスタムディレクティブの使い方とフック関数のタイミングを理解する - Qiita
はじめにVue.js(2.6.7)のカスタムディレクティブに関しての備忘録です。そもそもディレクティブとは?テンプレートに記述できるv-から始まる属性のこと。様々なディレクティブが存在し、属…

カスタムタグ

Vueコンポーネントで定義したコンポーネントを、html内で利用するとき、定義時に指定した名称のタグを使う。これをカスタムタグと呼んでいる。

コンポーネントの基本 — Vue.js
Vue.js - The Progressive JavaScript Framework

Vueインスタンス

ルートのVueインスタンス

こいつを任意のdiv要素とかにマウントしておくことで、そのdiv内でVueアプリケーションを構築することができる。
そしてこのルートのVueインスタンスの中で、コンポーネントを構成し、Webページを作っていくイメージ。

※サンプルコード等でルートのVueインスタンスを変数に代入している場合があるが、この理由は変数化しておくことでコンソールからアクセスでき、デバッグで利用できるからであり、必須ではない。

コンポーネント

コンポーネントの制約条件

コンポーネントには以下の2つの制約がある

  • dataは関数でなければならない
  • ルート要素は単一でなければならない

単一ファイルコンポーネント

「.vue」拡張子のファイルにjs, html, cssすべてを書いてしまう構造のコンポーネント。
vue独自のフォーマットで構成されており、プリコンパイルしないと利用できないためビルド環境が必要。

テンプレート

vue.jsでDOMを構築する方法。
htmlベースで記述し、コンポーネントとして利用可能。

テンプレート構文 — Vue.js
Vue.js - The Progressive JavaScript Framework

Vue CLI

Vue.jsを使ったアプリケーション開発を支援するための、コマンドラインインターフェース。
これを利用することで、ツールやライブラリといったアプリケーション開発に必要な開発環境を簡単に構築できる。

Vue.jsでは、保守性を向上させる手段として単一ファイルコンポーネントを採用している。
これらを合体することで、ページを構成したりするのだが、この単一ファイルコンポーネントは、独自のフォーマットを持っていて、単純に結合するだけではブラウザで配信することができない。

これらのモジュール化されたファイルを特別な方法で結合するのが「webpack」を代表とするバンドルツールとなる。

このwebpackを使った開発環境の構築は複雑で大変。そこを手助けするのがこの「Vue CLI」である。

Vuex

データとその状態に関するすべてを一元管理する「状態管理」のための拡張ライブラリ。
深くネストされたコンポーネントの構造でデータを共有するためには、propsと$emitを繰り返してバケツリレーのようにデータを渡していく必要があり、これは手間でかつデータ間の整合性が保ちにくい。
これを解消できるのがVuex。

最後に

まだまだ勉強中の身ですので、随時更新していきたいと思います!

タイトルとURLをコピーしました