LoginSignup
1
0

More than 1 year has passed since last update.

Vue.jsの学習を始めました①

Posted at

まずVue.jsはjavascriptのフレームワークである。ではVue.jsの何がすごいか個人的に気になった点を抜粋。

データバインディングで開発負担が軽減できる

生のjavascriptであればhtmlに変更を加える際に、
①定数や変数で要素を取得
②変更する内容を定義
③変更した内容をHTMLに反映する
以上の3ステップが必要。
しかし、Vue.jsではVue.jsで記述したデータとHTML側にあるデータ反映対象に対して、片方が変更されたらそれをもう片方に反映する仕組みを持っている。これにより記述を減らすことができる。

SPA開発ができる

仮想DOMを使用することで、SPA(シングル・ページ・アプリケーション)開発が可能になる。
SPAとは同じURLのままで他のページに遷移したような画面表示を提供する技術です。

実際にVue.jsで動かしてみる

https://zenn.dev/sdkfz181tiger/books/363d20b1e591fc/viewer/0beb4c
上記サイトを参考に勉強させてもらっています。

Vue.jsはjQueryと同じくCDNで使用することができる。
htmlに以下を記述

index.html
<script src="https://unpkg.com/vue@next" defer></script>

全体のhtmlは以下

index.html
<html>
<head>
	<meta charset="UTF-8"/>
</head>
<body>
	<div id="app">
		<h1>{{ appName }}</h1>
	</div>
	<!-- JavaScript -->
	<script src="https://unpkg.com/vue@next" defer></script>
	<script src="script/script.js" defer></script>
</body>
</html>

ここで二重括弧の{{appName}}はMustache構文と呼ばれVue.jsのデータをHTMLテンプレートに埋め込むためのものらしい

index.html
{{ appName }}

なのでappNameという単語だけではなく、{{ name }}や{{ age }}といった任意の単語も入る
javascriptの${name}みたいな感じか

1.Vue.jsで扱うデータを用意する

まずはVue.jsで扱うデータを用意する
記述はJSON方式

script.js
const myData = {
  appName: "Hello Vue.js!!"
}

2.Vue.jsの準備をする

先ほどのデータをVue.jsに設定する。
"Vue.createApp();"を実行する事で、"Vue"オブジェクトが作られる。
引数にはVue.jsに対する様々な設定を記述する。

script.js
const app = Vue.createApp({
  data(){
    return myData;// Vue.jsで扱うデータを指定する
  },
  created(){
    console.log("created!!");// Vue.jsが起動した時に実行
  }
});

3.Vue.jsを起動する

最後は、Vue.jsオブジェクトを起動する。
引数には、タグに指定してあるID名"app"を指定する。

script.js
app.mount("#app");// 3. Vue.jsを起動する

これでブラウザにはHello Vue.js!!と表示される。

script.js
const myData = {
  appName: "Hello Vue.js!!"//この文字列を変更するとブラウザに表示される文字列も変更される
}

Vue.jsの初歩の初歩を勉強することができました。
Vue.jsを勉強する際にjavascriptも同時並行で学習できていい感じかもです。
次回はVue.jsで簡単なアプリケーションを作りたいと思います。

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