title: vue-router navigate to the same route and re-run mounted hook
body: <p>How can I naviagte to the current route using router-link and re-run mounted hook?</p>
  
  <p><strong>HTML</strong></p>
  
  <pre><code>&lt;!-- Include the library in the page --&gt;
  &lt;script src="https://unpkg.com/vue/dist/vue.min.js"&gt;&lt;/script&gt;
  &lt;script src="https://unpkg.com/vue-router"&gt;&lt;/script&gt;
  
  &lt;!-- App --&gt;
  &lt;div id="app"&gt;
    &lt;nav&gt;
      &lt;router-link :to="{ name: 'home' }" exact&gt;Home&lt;/router-link&gt;
         &lt;router-link :to="{ name: 'about' }" @click.native.prevent="router.push({ name: 'about' })"&gt;About&lt;/router-link&gt;
    &lt;/nav&gt;
  
    &lt;router-view :key="$route.fullPath"&gt;&lt;/router-view&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p><strong>JS</strong></p>
  
  <pre><code>console.clear()
  console.log('Yes! We are using Vue version', Vue.version)
  
  Vue.use(VueRouter)
  
  const Home = {
      template: `&lt;h1&gt;Home&lt;/h1&gt;`,
  }
  
  const About = {
      template: `&lt;h1&gt;{{new Date()}}&lt;/h1&gt;`,
    mounted(){
      console.log('mounted')
    }
  }
  const routes = [
      { path: '/', name: 'home', component: Home },
    { path: '/about', name: 'about', component: About },
  ]
  const router = new VueRouter({
      routes,
  })
  // New VueJS instance
  var app = new Vue({
      // CSS selector of the root DOM element
    el: '#app',
    // Inject the router into the app
    router,
  })
  </code></pre>
  
  <p>In the above example, if I navigate to 'About' it shows the timestamp from new Date and logs 'mounted'. However, if I'm already on /about, clicking the about link does nothing. I want to re-run the whole component lifecycle when clicking 'About', even if I'm already hit it.</p>