Appearance
VNode ライフサイクルイベント 破壊的変更
概要
Vue 2 ではイベントを使用して、コンポーネントのライフサイクルの主要な段階を購読できました。これらのイベントは hook:
プレフィックスで始まり、その後に対応するライフサイクルフックの名前が続きます。
Vue 3 では、このプレフィックスは vue:
に変更されました。さらに、これらのイベントは、コンポーネントだけでなく HTML 要素でも利用できるようになりました。
2.x の構文
Vue 2 では、イベント名は相当するライフサイクルフックと同じで、プレフィックスとして hook:
が付きます:
html
<template>
<child-component @hook:updated="onUpdated">
</template>
3.x の構文
Vue 3 では、イベント名の前に vue:
が付きます:
html
<template>
<child-component @vue:updated="onUpdated">
</template>
移行手順
ほとんどの場合、プレフィックスを変更するだけでよいでしょう。ライフサイクルフックの beforeDestroy
と destroyed
はそれぞれ beforeUnmount
と unmounted
に名前が変更されたので、対応するイベントの名前も更新する必要があります。
移行ビルドのフラグ: INSTANCE_EVENT_HOOKS