回答編集履歴

7

イベントハンドリング

2023/04/20 06:41

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -3,7 +3,7 @@
3
3
  1:任意のイベントでメソッドを制御する(イベントハンドリングのインラインメソッドハンドラ)
4
4
  2:子コンポーネントからの値を受け取る(カスタムイベント)
5
5
 
6
- ## 1:任意のイベントを制御するケース
6
+ ## 1:任意のイベントを制御するケース(イベントハンドリング)
7
7
  @click="startingCustomEvent()はv-on:click="startingCustomEvent()"の省略形で、同一コンポーネントでメソッドを呼び出しています。つまりclickイベントでstartingCustomEvent()というインラインメソッドを呼び出しています。そしてイベントハンドリングの場合はコールバック関数を用いるメソッドイベントハンドラ(v-on:click="startingCustomEventという記述形式で、メソッドの引数からイベントを受け取る)でもインラインメソッドイベントハンドラのいずれでも問題ありません。
8
8
 
9
9
  ## 2:子コンポーネントからの値を受け取るケース(カスタムイベント)

6

コールバック関数

2023/04/20 06:40

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -4,7 +4,7 @@
4
4
  2:子コンポーネントからの値を受け取る(カスタムイベント)
5
5
 
6
6
  ## 1:任意のイベントを制御するケース
7
- @click="startingCustomEvent()はv-on:click="startingCustomEvent()"の省略形で、同一コンポーネントでメソッドを呼び出しています。つまりclickイベントでstartingCustomEvent()というインラインメソッドを呼び出しています。そしてイベントハンドリングの場合はメソッドイベントハンドラ(v-on:click="startingCustomEventという記述形式で、メソッドの引数からイベントを受け取る)でもインラインメソッドイベントハンドラのいずれでも問題ありません。
7
+ @click="startingCustomEvent()はv-on:click="startingCustomEvent()"の省略形で、同一コンポーネントでメソッドを呼び出しています。つまりclickイベントでstartingCustomEvent()というインラインメソッドを呼び出しています。そしてイベントハンドリングの場合はコールバック関数を用いるメソッドイベントハンドラ(v-on:click="startingCustomEventという記述形式で、メソッドの引数からイベントを受け取る)でもインラインメソッドイベントハンドラのいずれでも問題ありません。
8
8
 
9
9
  ## 2:子コンポーネントからの値を受け取るケース(カスタムイベント)
10
10
  対する@clickedの**clickedは任意に定義されたemitメソッドで用いるためのプロパティ名で、予約されたイベントとは全く無関係**です。そしてVue上のカスタムイベントという仕様を用いて制御しますが、その場合はインラインメソッドハンドラは使用できません。
@@ -18,11 +18,11 @@
18
18
 
19
19
  そして、emitされたメソッドを親コンポーネントで受け取る場合での親コンポーネント上の記述は
20
20
 
21
- **v-on:emitメソッドでキーとなるプロパティ名=親コンポーネントで受け取りに用いるメソッドイベント数)**
21
+ **v-on:emitメソッドでキーとなるプロパティ名=親コンポーネントで受け取りに用いるメソッド(コールバック関数)**
22
22
 
23
- となります。つまり、質問の条件の通り、子コンポーネントから受け取る場合はカスタムイベントを使うので、メソッドイベントハンドラでないといけないわけです。
23
+ となります。つまり、質問の条件の通り、子コンポーネントから受け取る場合はカスタムイベントを使うので、メソッドイベントハンドラ、つまり右側の式はコールバック関数でないといけないわけです。
24
24
 
25
- ので
25
+ みに
26
26
 
27
27
  emit('hoge', props.number)
28
28
 

5

Vueのマニュアルに沿って言葉を修正

2023/04/20 06:36

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -1,15 +1,15 @@
1
- v-onイベントメソッドはイベントを制御するディレクティブです。そして、この用例でv-onディレクティブは二通りに用いられている(厳密には別モノ)のでそれを混同しているのだと思います。
1
+ v-onディレクティブはイベントを制御するディレクティブです。そして、この用例でv-onディレクティブは二通りに用いられている(厳密には別モノ)のでそれを混同しているのだと思います。
2
2
 
3
- 1:任意のイベントメソッドを制御する
3
+ 1:任意のイベントメソッドを制御する(イベントハンドリングのインラインメソッドハンドラ)
4
- 2:子コンポーネントからの値を受け取る
4
+ 2:子コンポーネントからの値を受け取る(カスタムイベント)
5
5
 
6
- ## 1:任意のイベントメソッドを制御するケース
7
- @click="startingCustomEvent()はv-on:click="startingCustomEvent()"の省略形で、同一コンポーネントでメソッドを呼び出しています。つまりclickイベントでstartingCustomEvent()を呼び出しています。
6
+ ## 1:任意のイベントを制御するケース
7
+ @click="startingCustomEvent()はv-on:click="startingCustomEvent()"の省略形で、同一コンポーネントでメソッドを呼び出しています。つまりclickイベントでstartingCustomEvent()というインラインメソッドを呼び出しています。そしてイベントハンドリングの場合はメソッドイベントハンドラ(v-on:click="startingCustomEventという記述形式で、メソッドの引数からイベントを受け取る)でもインラインメソッドイベントハンドラのいずれでも問題ありません。
8
8
 
9
- ## 2:子コンポーネントからの値を受け取るケース
9
+ ## 2:子コンポーネントからの値を受け取るケース(カスタムイベント)
10
- 対する@clickedの**clickedは任意に定義されたemitメソッドで用いるためのプロパティ名で、予約されたイベントとは全く無関係**です。
10
+ 対する@clickedの**clickedは任意に定義されたemitメソッドで用いるためのプロパティ名で、予約されたイベントとは全く無関係**です。そしてVue上のカスタムイベントという仕様を用いて制御しますが、その場合はインラインメソッドハンドラは使用できません。
11
11
 
12
- @clicked="addNumber"はv-on:clicked="addNumber"というv:onディレクティブの省略形です。
12
+ @clicked="addNumber"はv-on:clicked="addNumber"というv-onディレクティブの省略形です。
13
13
  defineEmitsは任意の子コンポーネントから親コンポーネントに値を送出するためのemitメソッドを生成しており、それを使用する場合、
14
14
 
15
15
  **emit('emitメソッドでキーとなるプロパティ名',送出したい変数)**
@@ -18,9 +18,9 @@
18
18
 
19
19
  そして、emitされたメソッドを親コンポーネントで受け取る場合での親コンポーネント上の記述は
20
20
 
21
- **v-on:emitメソッドでキーとなるプロパティ名=親コンポーネントで受け取りに用いるメソッドのオブジェクト(変数)**
21
+ **v-on:emitメソッドでキーとなるプロパティ名=親コンポーネントで受け取りに用いるメソッドイベント(変数)**
22
22
 
23
- となります。つまり、質問の条件の通り、子コンポーネントから受け取る場合はメソッドを制御するためのオブジェク(変数)でないといけないわけです。
23
+ となります。つまり、質問の条件の通り、子コンポーネントから受け取る場合はカスタムイベントを使うので、メソッドイベンハンドラでないといけないわけです。
24
24
 
25
25
  なので
26
26
 

4

プロパティ名

2023/04/20 03:33

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -7,7 +7,7 @@
7
7
  @click="startingCustomEvent()はv-on:click="startingCustomEvent()"の省略形で、同一コンポーネントでメソッドを呼び出しています。つまりclickイベントでstartingCustomEvent()を呼び出しています。
8
8
 
9
9
  ## 2:子コンポーネントからの値を受け取るケース
10
- 対する@clicked**任意に定義されたemitメソッドで用いるためのプロパティ名で、予約されたイベントとは全く無関係**です。
10
+ 対する@clicked**clickedは任意に定義されたemitメソッドで用いるためのプロパティ名で、予約されたイベントとは全く無関係**です。
11
11
 
12
12
  @clicked="addNumber"はv-on:clicked="addNumber"というv:onディレクティブの省略形です。
13
13
  defineEmitsは任意の子コンポーネントから親コンポーネントに値を送出するためのemitメソッドを生成しており、それを使用する場合、

3

送出のためのプロパティ名

2023/04/20 03:31

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -7,18 +7,18 @@
7
7
  @click="startingCustomEvent()はv-on:click="startingCustomEvent()"の省略形で、同一コンポーネントでメソッドを呼び出しています。つまりclickイベントでstartingCustomEvent()を呼び出しています。
8
8
 
9
9
  ## 2:子コンポーネントからの値を受け取るケース
10
- 対する@clickedは**任意に定義されたプロパティ名で、予約されたイベントとは無関係**です。
10
+ 対する@clickedは**任意に定義されたemitメソッドで用いるためのプロパティ名で、予約されたイベントとは全く無関係**です。
11
11
 
12
12
  @clicked="addNumber"はv-on:clicked="addNumber"というv:onディレクティブの省略形です。
13
13
  defineEmitsは任意の子コンポーネントから親コンポーネントに値を送出するためのemitメソッドを生成しており、それを使用する場合、
14
14
 
15
- **emit('親コンポネントに送出すためのプロパティ名',送出したい変数)**
15
+ **emit('emitメソッドでキとなるプロパティ名',送出したい変数)**
16
16
 
17
17
  となります。
18
18
 
19
19
  そして、emitされたメソッドを親コンポーネントで受け取る場合での親コンポーネント上の記述は
20
20
 
21
- **v-on:emit子コンポーネントのプロパティ名=親コンポーネントで受け取りに用いるメソッドのオブジェクト(変数)**
21
+ **v-on:emitメソッドでキーとなるプロパティ名=親コンポーネントで受け取りに用いるメソッドのオブジェクト(変数)**
22
22
 
23
23
  となります。つまり、質問の条件の通り、子コンポーネントから受け取る場合はメソッドを制御するためのオブジェクト(変数)でないといけないわけです。
24
24
 

2

メソッドのオブジェクト

2023/04/20 03:28

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -18,9 +18,9 @@
18
18
 
19
19
  そして、emitされたメソッドを親コンポーネントで受け取る場合での親コンポーネント上の記述は
20
20
 
21
- **v-on:emitする子コンポーネントのプロパティ名=親コンポーネントで受け取りに用いるオブジェクト**
21
+ **v-on:emitする子コンポーネントのプロパティ名=親コンポーネントで受け取りに用いるメソッドのオブジェクト(変数)**
22
22
 
23
- となります。つまり、質問の条件の通り、子コンポーネントから受け取る場合はイベントメソッドを制御するためのオブジェクト(変数)でないといけないわけです。
23
+ となります。つまり、質問の条件の通り、子コンポーネントから受け取る場合はメソッドを制御するためのオブジェクト(変数)でないといけないわけです。
24
24
 
25
25
  なので
26
26
 

1

イベントを削除

2023/04/20 02:58

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -9,7 +9,7 @@
9
9
  ## 2:子コンポーネントからの値を受け取るケース
10
10
  対する@clickedは**任意に定義されたプロパティ名で、予約されたイベントとは無関係**です。
11
11
 
12
- @clicked="addNumber"はv-on:clicked="addNumber"というv:onイベントディレクティブの省略形です。
12
+ @clicked="addNumber"はv-on:clicked="addNumber"というv:onディレクティブの省略形です。
13
13
  defineEmitsは任意の子コンポーネントから親コンポーネントに値を送出するためのemitメソッドを生成しており、それを使用する場合、
14
14
 
15
15
  **emit('親コンポーネントに送出するためのプロパティ名',送出したい変数)**