Vue.jsってなに?
2020/06/13
JavaScriptを学習していくと「Vue.js」を目にします。検索してみるとJavaScriptフレームワークの一つです。「Vue.js」を使えば、どんなことに活用できるのでしょうか。
Vue.jsとは
Vue.jsは、JavaScriptのフレームワークの一つでインタラクティブなページや状態管理に特化したフレームワークです。また、自動的にDOM操作を行ってくれます。Vue.js は、中規模のWebサイト構築に向いていると言われています。
Vue.jsの基本構文
scriptタグを埋め込み、ライブラリを読み込ませます。
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> または <script src="https://cdn.jsdelivr.net/npm/vue"></script>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプルテスト</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> {{ message }} </div> <script> var app = new Vue({ el: '#app', data: { message: 'これはサンプルテストです。' } }); </script> </body> </html>
実行すると下記の文言が表示されいます。
「これはサンプルテストです。」
JavaScriptのmessageの内容が自動的に、HTMLの” {{ message }}” の部分に代入され表示されます。JavaScript部分を外部データから読み込むこともできます。
ブラウザの JavaScriptコンソールから、messageを変更することもできます。
app.message=’文字の変更です。’;
ブラウザーに「文字の変更です。」と表示されます。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプルコード</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app-2"> <span v-bind:title="message"> Hover your mouse over me for a few seconds to see my dynamically bound title! </span> </div> <script> var app2 = new Vue({ el: '#app-2', data: { message: 'You loaded this page on ' + new Date().toLocaleString() } }); </script> </body> </html>
文章にカーソルを持っていくと、You loaded this page on (その時に日時と時間)がalt表示されます。
条件分岐とループを試す
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプルコード</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app-3"> <span v-if="seen">表示されている</span> </div> <script> var app3 = new Vue({ el: '#app-3', data: { seen: true } }); </script> </body> </html>
seenのtrueをfalseに変更すると文字が消えて表示され無くなります。
app3.seen=false;
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプルコード</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app-4"> <ol> <li v-for="todo in todos"> {{ todo.text }} </li> </ol> </div> <script> var app4 = new Vue({ el: '#app-4', data: { todos: [ { text: '基礎' }, { text: '応用' }, { text: '実践' } ] } }); </script> </body> </html>
下記の内容で表示されます。
- 基礎
- 応用
- 実践
より詳しい内容は、「Vue.js」に掲載されています。
下記のURLから閲覧できます。
(Vue.js)
https://jp.vuejs.org/v2/guide/index.html
おさらい
Vue.jsは、便利なフレームワークです。勉強してできることを増やしていきましょう。