Skip to content

Commit 8cc6b01

Browse files
committed
1 parent 494e5ee commit 8cc6b01

File tree

1 file changed

+2
-17
lines changed

1 file changed

+2
-17
lines changed

src/guide/component-custom-events.md

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,17 @@
44
55
## イベント名
66

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+
コンポーネントやプロパティと同じように、イベント名は大文字と小文字を自動的に変換します。子コンポーネントからキャメルケースでイベントを発行すると、親コンポーネントではケバブケースのリスナを追加できるようになります:
188

199
```js
2010
this.$emit('myEvent')
2111
```
2212

23-
kebab-case(ケバブケース)でリスナ名を作っても何も起こりません:
24-
2513
```html
26-
<!-- Won't work -->
2714
<my-component @my-event="doSomething"></my-component>
2815
```
2916

30-
イベント名は JavaScript 内で変数やプロパティ名として扱われることはないので、camelCase または PascalCase(パスカルケース)を使用する理由はありません。 さらに DOM テンプレート内の `v-on` イベントリスナは自動的に小文字に変換されます ( HTML が大文字と小文字を判別しないため)。このため `@myEvent``@myevent` になり `myEvent` にリスナが反応することができなくなります。
31-
32-
こういった理由から **いつも kebab-case を使うこと** をお薦めします。
17+
[プロパティの形式](/guide/component-props.html#プロパティの形式-キャメルケース-vs-ケバブケース) と同じように、DOM 内テンプレートを使っている場合は、ケバブケースのイベントリスナを使うことをお勧めします。文字列テンプーとを使っている場合は、この制約は適用されません。
3318

3419
## カスタムイベントの定義
3520

0 commit comments

Comments
 (0)