Appearance
Модифікатор v-on.native
видалено несумісно
Огляд
Модифікатор .native
для v-on
було видалено.
Синтаксис 2.x
Слухачі подій, передані компоненту за допомогою v-on
, за замовчуванням ініціюються лише випромінюванням події за допомогою this.$emit
. Щоб замість цього додати власний слухач DOM до кореневого елемента дочірнього компонента, можна використати модифікатор .native
:
html
<my-component
v-on:close="handleComponentEvent"
v-on:click.native="handleNativeClickEvent"
/>
Синтаксис 3.x
Модифікатор .native
для v-on
було видалено. У той же час, нова опція emits
дозволяє дочірньому компоненту визначати, які події він дійсно випромінює.
Отже, Vue тепер додаватиме всі слухачі подій, які у дочірньому компоненті не визначені як події, які випромінюються компонентом, як рідні слухачі подій до кореневого елемента цього дочірнього компонента (якщо inheritAttrs: false
не встановлено в опціях дочірнього елемента).
html
<my-component
v-on:close="handleComponentEvent"
v-on:click="handleNativeClickEvent"
/>
MyComponent.vue
html
<script>
export default {
emits: ['close']
}
</script>
Стратегія міграції
- видалити всі екземпляри модифікатора
.native
. - переконатися, що всі ваші компоненти документують свої події за допомогою опції
emits
.
Прапор збірки міграції: COMPILER_V_ON_NATIVE