Причина ошибки: vue -рутер вызывает эту ошибку, когда мы вызываем this.$router.push({name: 'route-name'})
несколько раз подряд без завершения предыдущего вызова.
Решение: Я могу справиться с этой ошибкой, добавив перехватчик на router.pu sh.
this.$router.push({name: 'router-name'}).catch(error => { //handle error here})
Я сделал его обобщенным c, добавив метод в vue mixin.
import router from '../router'
Vue.mixin({
methods: {
navigate(route) {
router.push(route).catch(err => { //handle error here });
}
}
});
Теперь я могу использовать этот navigate
метод в моих компонентах следующим образом.
<template>
</template>
<script>
export default {
mounted() {
this.navigate({name: 'Home'})
}
}
</script>
<style>
</style>
Надеюсь, он поможет другим.