Один из способов сделать это - поставить ключ на router-view
и добавить строку запроса метки времени к router-link
const Home = {
template: '<div>Home</div>',
created() {
console.log('This should log everytime you click home.');
},
};
const router = new VueRouter({
mode: 'history',
routes: [
{ path: '/', component: Home },
]
});
new Vue({
router,
el: '#app',
});
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<div id="app">
<router-link :to="`/?q=${Date.now()}`">/home</router-link>
<router-view :key="$route.fullPath"></router-view>
</div>
Одна из причин, по которой этого не сделать, заключается в том, что это приведет к повторному выполнению операций с компонентами, которые вы, возможно, захотите использовать повторно, например на маршрутах типа