Changing parameter with vue 3 router route
Solution 1:
It's a bad way to change your route parameter like this.
Instead, replace your route with the same name
, same id
, but different lang
:
this.$router.replace({
name: this.$route.name,
params: {
id: this.$route.params.id,
lang: 'en' // or whatever you want
}
})
Don't forget to watch for the route changes if needed:
watch: {
$route(to, from) {
// if anything needs to be done when the route changes
}
}