1
0

More than 3 years have passed since last update.

Vue.js始めました。

Posted at

*学習初日の個人的なアウトプット用です。

Vue.jsとは、UIを構築するためのプログレッシブフレームワークであり、モダンなツールやサポートライブラリと組み合わせることで、洗練されたSPAを開発することもできる。

大きな特徴の一つとして、双方向データバインディングができるという点が挙げられる。
データバインディングとは data と UI を結び付けるという意味で、双方向というのは data を更新すれば UI が更新されて、 UI を更新すれば data が更新されるという意味である。

入門のためここでは名前と簡単なリストを表示させる。

index.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>Vue practice</title>
  <link rel="stylesheet" href="css/styles.css">
</head>
<body>
  <div id="app">
  <!--二重波括弧 {{}} で表現し UI を反映させる。そのままJavaScriptの式を書くこともできる。 -->
    <p>Hello {{ name.toUpperCase() }}!</p>

  <!-- v-model を使うことで input タグに入力された文字を上の表示にリアルタイムで反映できる。-->
    <p><input type="text" v-model="name"></p>

    <h1>My Lists</h1>
    <ul>
      <li>{{ lists[0] }}</li>
      <li>{{ lists[1] }}</li>
      <li>{{ lists[2] }}</li>

      <!-- 上のリストは v-for を使って配列の中身を取り出すことが可能 -->
      <li v-for="list in lists">{{ list }}</li>
    </ul>
  </div>

 <!-- Vue.jsを読み込む -->
  <script src="https://cdn.jsdelivr.net/npm/vue"></script>

  <script src="js/main.js"></script>
</body>
</html>
  • v-for や v-model など v- から始まる特殊な属性をディレクティブと呼ぶ。
js/main.js
(function() {
  'use strict';

  // vm は view model の略
  var vm = new Vue({
    el: '#app', // el は elements の略
    data: {
      name: 'tanaka',
      lists: [
        'list 1',
        'list 2',
        'list 3'
      ]
    }
  });
})();

ブラウザで確認すると結果以下のような表示になる。

Image from Gyazo

以上です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0