по методу щелчка с vue-router 4

С vue-router 3 можно было добавить метод с @click.native="myMethod"как объяснено здесь .

В vue 3 .nativeмодификатор устарел .

Когда пользователь нажимает на <router-link to="somewhere" @click="myMethod">Click me</router-link>, это создает ошибку, при которой все приложение перезагружается.

С vue-router 4, как правильно запускать метод при щелчке по router-link тег?

1 ответ

Решение

Убедитесь, что ваш vue-router версия не ниже 4.0.6 (запустить npm show vue-router или же npm outdated). В этой версии есть исправление, которое позволяет делать то, что вы пытаетесь достичь. По сути, фрагмент кода в вашем вопросе должен работать сейчас.

Так нравится:

      <template>
  <router-link to="/somePath" @click="myMethod()">Click me</router-link>
</template>
<script>
export default {
  methods: {
    myMethod() {
      console.log('hello');
    }
  }
}
</script>

Вот исполняемый фрагмент с Vue 3 и новейшим маршрутизатором vue 4.

Ссылка на CHANGELOG

Другие вопросы по тегам