NavigationDuplicatedエラーとは
vue-routerでの遷移時、現在いるrouteと同じrouteに移動しようとすると発生する。
このエラーで検索すると router.push
などの戻りをcatchすることでエラーを出さない(無視する)方法を挙げている方がいるが、そもそも現在いるrouteと同じrouteに遷移する必要はないはずなので遷移しないというのが正しいんじゃないかなと思う。
遷移先が現在と同じrouteの場合遷移しない
<script>
export default {
methods: {
transition: function() {
if (this.$route.name !== this.name) {
this.$router.push({ path: 'home' })
}
}
}
}
</script>
名前付きルートの場合
<script>
export default {
props: ['name'],
methods: {
transition: function() {
if (this.$route.name !== this.name) {
this.$router.push({ name: this.name })
}
}
}
}
</script>