File tree Expand file tree Collapse file tree 1 file changed +2
-17
lines changed Expand file tree Collapse file tree 1 file changed +2
-17
lines changed Original file line number Diff line number Diff line change 4
4
5
5
## イベント名
6
6
7
- コンポーネントやプロパティとは違い、イベント名の大文字と小文字は自動的に変換されません。その代わりに、発行されるイベント名とイベントリスナ名は全く同じにする必要があります。
8
-
9
- ``` js
10
- this .$emit (' my-event' )
11
- ```
12
-
13
- ``` html
14
- <my-component @my-event =" doSomething" ></my-component >
15
- ```
16
-
17
- camelCase(キャメルケース)のイベント名を発行している場合:
7
+ コンポーネントやプロパティと同じように、イベント名は大文字と小文字を自動的に変換します。子コンポーネントからキャメルケースでイベントを発行すると、親コンポーネントではケバブケースのリスナを追加できるようになります:
18
8
19
9
``` js
20
10
this .$emit (' myEvent' )
21
11
```
22
12
23
- kebab-case(ケバブケース)でリスナ名を作っても何も起こりません:
24
-
25
13
``` html
26
- <!-- Won't work -->
27
14
<my-component @my-event =" doSomething" ></my-component >
28
15
```
29
16
30
- イベント名は JavaScript 内で変数やプロパティ名として扱われることはないので、camelCase または PascalCase(パスカルケース)を使用する理由はありません。 さらに DOM テンプレート内の ` v-on ` イベントリスナは自動的に小文字に変換されます ( HTML が大文字と小文字を判別しないため)。このため ` @myEvent ` は ` @myevent ` になり ` myEvent ` にリスナが反応することができなくなります。
31
-
32
- こういった理由から ** いつも kebab-case を使うこと** をお薦めします。
17
+ [ プロパティの形式] ( /guide/component-props.html#プロパティの形式-キャメルケース-vs-ケバブケース ) と同じように、DOM 内テンプレートを使っている場合は、ケバブケースのイベントリスナを使うことをお勧めします。文字列テンプーとを使っている場合は、この制約は適用されません。
33
18
34
19
## カスタムイベントの定義
35
20
You can’t perform that action at this time.
0 commit comments