You can use the .push() method of vueRouter to push a state.
It is quite handy and, imo, better than the store solution:
- if you want to just pass some data to another page, for example to pre-populate a form, you would create a store just as a middle-man instead of a way to store relevant data (for example, fetched data)
- the push + state solution persist on page refresh, until you push a new state to the page or the user empty the cache, so depending on the use case it is preferable to the store
Anyhow, it would look like this:
button @click="router.push({name: 'settings', state: { ...myObj } })">Go to page
to access it: route.history.state
There is no need to stringify the object, so it's quite handy. https://developer.mozilla.org/en-US/docs/Web/API/History https://router.vuejs.org/guide/essentials/navigation.html#History-Manipulation