Skip to content
The translation is synced to the docs on of which the commit hash is 794629c.

Модифікатор 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

Дивіться також