3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Vue.js 入門(第1回) - Vue.jsでHello World と双方向データバインディング(v-model) -

Last updated at Posted at 2022-01-16

はじめに

Vue.jsに少し触れてみたので、その内容を**「Vue.js入門」**として、数回にわけて書いていこうと思います。

Vue.jsはユーザーインターフェイスを構築するためのプログレッシブフレームワークとのことです。

※ここではVue.jsの**2.x系(2.6.14)**を使用しています。3.x系では書き方が異なるので注意してください。

1. Vue.jsでHello World

1.1. ディレクトリの作成

ルートディレクトリ配下にjsディレクトリとindex.htmlファイルを作成します。
jsディレクトリ配下にmain.jsファイルを作成します。

C:\Data\git\practice_vue.js\lesson\lesson1>tree /F
フォルダー パスの一覧:  ボリューム Windows
ボリューム シリアル番号は F039-627E です
C:.
│  index.html
│
└─js
        main.js


C:\Data\git\practice_vue.js\lesson\lesson1>

1.2. HTMLの作成

index.htmlに以下を記載します。

index.html
<!DOCTYPE html>
<html lang="jp">
  <head>
    <meta charset="utf-8">
    <title>Vue.jsでHello World!</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>  <!-- (1) -->
  </head>
  <body>
    <div id="app">  <!-- (2) -->
      <p>{{ message }}</p>  <!-- (3) -->
    </div>
    <script src="js/main.js"></script>  <!-- (4) -->
  </body>
</html>

(1)の部分はVue.jsのを読み込んでいます。

(2)の部分でidを指定します。このidの名称(ここではapp)で、後で作成するVueのインスタンスとを紐付けます。

(4)の部分はVue.jsで記述された'main.js'ファイルを読み込んでいます。

(3)の部分は(4)で読み込んでいる'main.js'の中で定義されたmessageという名前のデータを表示しています。

1.3. jsの作成

jsディレクトリ配下のmain.jsに以下を記載します。

js/main.js
var vm = new Vue({  // (1)
  el: '#app',       // (2)
  data: {
    message: 'Hello World!'  // (3)
  }
});

(1)でVueコンストラクタからインスタンスを作成しています。

(2)el'#app'を設定し、index.htmlid="app"の部分と紐付けます。

(3)datamessage'Hello World!'を設定ます。

1.4. 動作確認

ブラウザでindex.htmlを開くと以下のようにHello World!が表示されます。
1-4.png

2. 双方向データバインディング

2-1. index.htmlを修正

index.html<div id="app">の中に<input type="text" v-model="message">を追加します。
以下のindex.htmlの(1)の部分。

index.html
<!DOCTYPE html>
<html lang="jp">
  <head>
    <meta charset="utf-8">
    <title>Vue.jsでHello World!</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
  </head>
  <body>
    <div id="app">
      <input type="text" v-model="message">  <!--(1) -->
      <p>{{ message }}</p>
    </div>
    <script src="js/main.js"></script>
  </body>
</html>

(1)のv-modelVueインスタンスのデータと、フォーム部品の値を関係づけます。
ここではVueインスタンスのデータmessageをフォーム部品inputに値を関係づけます。
これを「双方向データバインディング」といいます。

2.2. 動作確認

ブラウザでindex.htmlを開くと以下のようにHello World!が表示されます。
2-2.png

テキストボックスに何か入力すると、その内容が即時反映されます。
2-2-2.png

あとがき

次回は算出プロパティ(computed)と監視(watch)について書きたいと思います。

参考

リンク

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?