対象読者
Vue.js 3 の公式チュートリアルの内容をざっと知りたい人
はじめに
Vue チュートリアル をやった際のメモ書きを記載します。
1. 宣言的レンダリング
- SFC (単一ファイルコンポーネント) は HTML、 CSS、 JavaScript をカプセル化して
.vueファイル内に記述する - 宣言的レンダリング: HTML を拡張したテンプレート構文を用いて HTML がどのように見えるかを記述できる
- mastaches 構文 (二重中括弧)で HTML から変数の値を呼び出せる
- ex)
<h1>{{ hoge }}</h1>
- ex)
2. 属性バインディング
- ディレクティブは
v-から始まる特別な HTML 属性- Vue のテンプレート構文の一部
-
v-bind:{属性名}="変数名"で指定した属性名を変数の値にできる
3. イベントリスナー
-
v-onディレクティブで DOM イベント発火時の処理を指定できる
4. フォームバインディング
-
v-bindとv-onを一緒につかうことで、双方向バインディングを作成することができる -
v-modelディレクティブを用いるだけで簡単に双方向バインディングを実現できる -
v-modelディレクティブはテキスト入力だけではなく、チェックボックス、ラジオボタン、セレクトボックスなどの他の入力タイプでも機能する
5. 条件付きレンダリング
-
v-ifディレクティブで条件付きレンダリングを行える -
v-elseディレクティブやv-else-ifディレクティブもある
6. リストレンダリング
-
v-forディレクティブを使用すると、配列を基にした要素のリストをレンダリングできる -
:keyで各オブジェクトを一意に特定出来るようにしている
7. 算出プロパティ
-
computed()を用いることで他のリアクティブなデータソースに基づいて.valueを計算する算出 ref を作ることが出来る- つまり、他のリアクティブが変更されたら、その変更を反映した値をレンダリングに反映できる
8. ライフサイクルとテンプレート参照
-
ref属性を使ってテンプレート参照ができる -
onMountedやonUnmountedなどのライフサイクルがある
9. ウォッチャー
-
watch()を用いることであるオブジェクトが変更したときの処理を記述することができる
10. コンポーネント
- import したコンポーネントはテンプレート内で
<{コンポーネント名} />と記述することで使用できる
11. props
- 子コンポーネントで
defineProps()で定義した props を親コンポーネントから子コンポーネントに渡すことができる<{子コンポーネント名} {props 名}="props の値">
12 イベントの発行
-
emitを用いて子コンポーネントから親コンポーネントへイベントを発行できる - 親コンポーネントは
v-onディレクティブを用いて発行されたイベントを検知することができる
13 スロット
- 親コンポーネントは
slotを用いてテンプレートを子コンポーネントに渡すことができる - 子コンポーネントの
slot内のコンテンツに親からテンプレートが渡されなかった時に表示するテンプレートを記述することができる
おわりに
Vue.js の全体観をざっと把握するには公式チュートリアルは良い教材でした。