title: Weird VueJS Routing behaviour
body: <p>I have an issue with my routing. I have a simple on click handler to push to the router.</p>
  
  <pre class="lang-js prettyprint-override"><code>methods: {
     page(path) {
        this.$router.push(path);
     }
  }
  </code></pre>
  
  <p>which will display the correct content, but the URL <strong>briefly</strong> goes to the correct URL but then goes back to the previous. I only new it was happening because when I clicked the 'back' browser button the URL was then correct.</p>
  
  <p>I opened up the console and decided to test the router</p>
  
  <pre class="lang-js prettyprint-override"><code>$vm0.$router.push('/my-path');
  </code></pre>
  
  <p>Which not only displayed the correct content but the URL was also correct.</p>
  
  <p>I'm now stumped to how debug this further so if anyone has any ideas please let me know.</p>
  
  <p>router.js</p>
  
  <pre class="lang-js prettyprint-override"><code>import VueRouter from 'vue-router';
  
  const routes = [
      { path: '/', component: require('./views/Campaigns').default },
      { path: '/foo', component: require('./views/Foo').default },
      { path: '/campaign/edit', component: require('./views/EditCampaign').default },
  ];
  
  export default new VueRouter({
      routes
  });
  
  </code></pre>
  
  <p>main.js</p>
  
  <pre class="lang-js prettyprint-override"><code>import Vue from 'vue'
  import VueRouter from 'vue-router';
  import router from './routes';
  
  Vue.config.productionTip = false;
  Vue.use(VueRouter);
  
  new Vue({
    el: '#app',
    router
  });
  
  </code></pre>
  
  <p>Regards</p>