по методу щелчка с 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.