LoginSignup
0
0

vueJSのemit

Last updated at Posted at 2024-04-16

子コンポーネント

child.vue
<template>
  <button @click="CCCevent">ボタン</button>
  //①このボタンクリックしたら、同コンポーネントのCCCevent起動
</template>

<script setup>
const xxx = defineEmits();
//②親に打ち上げるための事前準備。defineEmitsをどこでもつかえるようにしておく。

const CCCevent = () => {
    xxx("xxxevent");
};
//③defineEmitsすることで親のxxxeventが発火
//親コンポーネントのタグに@xxxeventがいる。
</script>

親コンポーネント

parent.vue
<template>
  <div>
    <Child @xxxevent="YYYevent" />
    //③子でxxxevent発火したら 右辺の名前のメソッドが実行される。
  </div>
</template>

<script setup>
import Child from "./Child.vue";

const YYYevent = () => {
 console.log('発火したよ')
};
//最後にこのメソッドが実行される。
</script>


コンポーネントタグの@はv-on
@xxxだったら、そのコンポーネントの中でxxxという合図があったときに、ついでにやってくれるアクションを追加できる。

defineEmitsのimport必要ない

emitについて調べていて、変数名や関数名が似たり寄ったりで目が泳いだので、記号的な書き方にしてみました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0