Vue3の基本3(コンポーネント間のデータ受け渡し)

目次

(参考資料)
・Vue3 日本語ドキュメント
 https://v3.ja.vuejs.org/
・Vue.js3超入門(掌田津耶乃著)秀和システム

1.Vueの動作環境
(1)動作環境
 ・Windows 10 Pro
 ・XAMPP Control Panel v3.2.4 
 ・Node.js v16.13.0

2.プロジェクトの作成
(1)Viteツールを使ったプロジェクトの作成
 > npm init vite-app sample-app
 > cd sample-app
 > npm install

(2)プロジェクトの実行
  > npm run dev

 前編(Vue3の基本2)に続き、プロジェクトファイルを使ったVueアプリケーションの作成を行います。

3.親子間のコンポーネントのデータ受け渡し
(1)概要
 コンポーネント間のデータの受け渡しを通して、Vueの機能について確認します。

・コンポーネント内のHTML(テンプレート)にデータを表示するとき、テンプレートの外でデータを設定するときは、Vueに渡すオブジェクトのdata()メソッドに変数を記述する。
・コンポーネントを使う側で子コンポーネントのタグに属性としてデータを渡すときは、子コンポーネントのオブジェクトのpropsプロパティに変数を記述しておく。
さらにコンポーネントを使う側でタグに属性として渡すデータをテンプレートの外で設定するときは、テンプレート側の変数をオブジェクト側の変数にバインド「v-bind:(オブジェクト側の変数)=”(テンプレート側の変数)”」する必要がある。
・$emit()メソッドを使い、子コンポーネントから親コンポーネントにカスタムイベントと引数を通知することができる。
 親コンポーネント側ではv-on (カスタムイベント)でコンポーネント内のオブジェクトのメソッドを起動する。

(2)作成するアプリケーション
 text1、text2の表示は各々のコンポーネント内のVueオブジェクトで設定、親コンポーネント(App)は子コンポーネントを使い、その属性text3に”message”を設定し、子コンポーネント側で表示します。
 子コンポーネントで入力したテキストを「click」ボタンを押したイベント名とともに親コンポーネントに通知します。

(3)ソースリスト
 index.html

 main.js

 App.vue

 hello.vue

アプリケーションの起動
 > npm run dev

最初にアクセス、またはリロードしたとき

入力フォームからテキストを入力して「Click」したとき

The end