# Удалён модификатор v-on.native
breaking

# Обзор

Модификатор .native для v-on был удалён.

# Синтаксис в 2.x

Обработчики событий, переданные в компонент через v-on по умолчанию вызываются по событию, которое генерируется с помощью this.$emit. Для добавления обработчика нативного события DOM к корневому элементу дочернего компонента требовалось использовать модификатор .native:

<my-component
  v-on:close="handleComponentEvent"
  v-on:click.native="handleNativeClickEvent"
/>
1
2
3
4

# Что изменилось в 3.x

Модификатор .native для v-on был удалён. В то же время, новая опция emits позволяет дочерним компонентам определять, какие события он может генерировать.

Следовательно, Vue теперь добавит все слушатели событий, которые не определены в качестве генерируемых дочерним компонентом в качестве нативных слушателей событий (кроме случаев, когда inheritAttrs: false была задана в опциях дочернего компонента).

<my-component
  v-on:close="handleComponentEvent"
  v-on:click="handleNativeClickEvent"
/>
1
2
3
4

MyComponent.vue

<script>
  export default {
    emits: ['close']
  }
</script>
1
2
3
4
5

# Стратегия миграции

  • удалить все экземпляры модификатора .native.
  • убедитесь, что все компоненты документируют свои события с помощью опции emits.

# См. также

Deployed on Netlify.
Последнее обновление: 2021-01-03, 12:00:51 UTC