ホーム > vue.js | 技術系 > Vue.jsについての解説

Vue.jsについての解説

Vue.jsとは

Vue.jsとは、javasriptを使ってサイトを構築するときに役に立つフレームワークです。

もともと、javascriptでサイトを構築する場合には、jqueryが便利でよく使われていて、様々な表現をするのに定番となっていました。

しかし、サイト構築にjavascriputが使われるうち、より大規模に使用したり複雑な処理を行う場合、jqueryで行う場合に処理が遅かったり、または実装する際に複雑になったりする問題が起きてきました。

そこで、Jqueryに替わるjavascriptのフレームワークとして、angular.jsや、React.js、Vue.jsなどがよく使用されるようになってきました。

これらのフレームワークは、javascriptを使ってより複雑なサイトを構築したり表現をするのに有力な選択肢となります。

中でもVue.jsは、一番熱い?フレームワークとなっています。

Google Trendsで検索回数を調べてみても、Reactやangularよりもより多く検索されているようで、Githubでのスターの数も多いようです。

開発は、もともとGoogleでangular.jsを開発していた中国人の方がされているようです。

使い方

Vue.jsの読み込み

ヘッダに以下を記述でインストールできます。

読み込むスクリプトは、jqueryなどと同様に、 完全版やmin、runtime版など様々なビルドがあります。

軽量化したいのであれば、なるべく必要最小限のものを読み込んだほうが容量が少なくなります。

記述の仕方

通常のjavascriptであれば、まずは普通にhtmlを記述して、javascriptの処理をヘッダ内、あるいはヘッダ内で読み込む外部のjsファイルに記述します。

htmlはidやクラスでコーディングし、それをjsで操作するといったイメージです。

Vue.jsの場合は、Vue.jsの独特の記法でhtmlの関連する箇所を記述していきます。

また、javascirptも、Vue.jsの独特の記法があります。

まずは、使うにあたって、これらを覚える必要があります。

ただ、htmlはhtmlとして書いて、javascirptの処理は外部から読み込むと、この流れは同じです。

ただし、記法は独特です。

Vue.jsのサンプル

公式サイトで様々なVue.jsを使った実装のサンプルを見ることができます。

https://vuejsexamples.com/

記述例

{{ message }}

id=”app”を最初に定義して、その中にmessageと呼ばれる変数があります。

スクリプト内でVueモデルを定義して、ID=appのmessageに’Hello Vue!’を代入します。

これ自体は単純な処理なのでVue.jsを使うまでもありませんが、スクリプトを変更することで、メッセージも変更できます。

Hover your mouse over me for a few seconds to see my dynamically bound title!
var app2 = new Vue({ el: '#app-2', data: { message: 'You loaded this page on ' + new Date().toLocaleString() } })

メッセージにマウスオーバーすると、日付が含まれた吹き出しが表示されます。
最初の構文と比較すると、メッセージそのものを変数で表示しているわけではないですが、app-2と定義されたVueオブジェクトに対して、
で囲まれたテキストをbindと呼ばれる構文を使うことで、タイトル要素を与えています。
このv-vindのようなVue.js独特の記述を「ディレクティブ」と呼びます。

通常であればほげほげのように記述しますが、Vue.jsを使うことで、title属性を日付などの動的な要素として定義できています。

Now you see me
var app3 = new Vue({ el: '#app-3', data: { seen: true } })

上記の例では「Now you see me」というテキストが表示されるだけですが、v-ifディレクティブを使うことで、trueを代入することで、表示されています。
seen = falseに変更することで非表示になります。

  1. {{ todo.text }}

上記の例では、Vueオブジェクトに対してv-forディレクティブを適用することで、
for文のように処理を実装しています。

{{ message }}

上記の例では、Vueオブジェクトに対してメッセージを定義していますが、
関数を定義していて、Vueオブジェクトのメッセージの文字列を分割して逆さまにして結合するという、
ボタンをクリックすることで文字列を逆順にする処理を実装しています。

{{ message }}

上記の例では、Vueオブジェクトにテキストメッセージを表示していますが、
その下の入力エリアにv-modelディレクティブを定義することで、入力した内容がメッセージに対してすぐに反映されるようにいなっています。

コンポーネント

 

上記の例では、Vueオブジェクトに対して「todo-item」というコンポーネントを定義しています。
ここでは、サイトに表示した「todo-item」の要素に対して「this is todo」というリストが表示されるだけです。

このあたりになってくるとかなりややこしいです。
まず、Vueオブジェクトの中にというコンポーネントを定義していますが、そこにディレクティブとして、item「groceryList」のループを指定しています。
これで配列に定義したテキストが出力されます。

しかし、これだけだとわざわざコンポーネントを使わずとも、前述のv-forディレクティブで記述することが可能です。

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
https://www.itblog.jp/wp-trackback.php?p=9681
トラックバックの送信元リスト
Vue.jsについての解説 - ITblog より

ホーム > vue.js | 技術系 > Vue.jsについての解説

フィード

ページの上部に戻る