ユーザ用ツール

サイト用ツール


vue_emit

emit

  • 子コンポーネントから親コンポーネントのメソッドを叩いたりできる

使用例

  • 親コンポーネント
<template>
  <div class="parent">
    ...
    <child
      @AAA="clicked('XXX')"         ← 『AAA』という名前のイベントで、メソッド『clicked』をコール
    >                                  ※子コンポーネントの引数『xxx』を使用したい場合は、
    </child>                             メソッド名だけ指定する
    ...
  </div>
</template>

<script lang="ts">
...
private clicked(STR: number) {      ← メソッド『clicked』
  console.log(STR)                  ← 親コンポーネントでの引数『XXX』が出力される
}                                     ※親コンポーネントでメソッド名のみ指定の場合のみ
...                                     子コンポーネントの引数『xxx』は引き継がれる
</script>
  • 子コンポーネント
<template>
  <div class="child">
    ...
    <button
      @click="aaa('xxx')"           ← クリック時、メソッド『aaa』をコール
    >
    </button>
    ...
  </div>
</template>

<script lang="ts">
...
@Emit('AAA')                        ← 親コンポーネントのイベント『AAA』を発火させる?
private aaa(str: number) {          ← メソッド『aaa』
  console.log(str)                  ← 子コンポーネントでの引数『xxx』が出力される
}                                     ※メソッドの処理後、親コンポーネントのイベントが発火する
...
</script>
vue_emit.txt · 最終更新: 2021/12/07 18:02 by 127.0.0.1