title: router.push() doesn't reload router-view in VUE
body: <p>I have simple auth system for my selfhosted app. After pass valid username and password i need to redirect router-view.</p>
  
  <p>Unfortunately, when I call <code>router.push("/")</code>, there is nothing happen.
  Then I have to click "login" again or manualy reload page or use <code>router.go()</code>.</p>
  
  <p>I can not reload all page after login, I need to update only <code>router-view</code>.</p>
  
  <p>I searched many issues but there are no answer for me.</p>
  
  <p>Do you have any idea, what's wrong ?</p>
  
  <pre class="lang-js prettyprint-override"><code>//router.rs
  import Vue from "vue";
  import Router from "vue-router";
  import Home from "../views/Home.vue";
  import LoginPage from "../views/LoginPage.vue";
  
  Vue.use(Router);
  
  export const router = new Router({
    mode: "history",
    base: process.env.BASE_URL,
    routes: [{
        path: "/",
        name: "home",
        component: Home
      },
      {
        path: "/login",
        name: "login",
        component: LoginPage
      },
      {
        path: "/about",
        name: "about",
        component: () =&gt; import("../views/About.vue")
      },
      {
        path: "*",
        redirect: "/"
      }
    ]
  });
  
  router.beforeEach((to, from, next) =&gt; {
    const publicPages = ["/login"];
    const authRequired = !publicPages.includes(to.path);
    const loggedIn = localStorage.getItem("user");
  
    if (authRequired &amp;&amp; !loggedIn) {
      next("/login");
    } else {
      next();
    }
  });
  </code></pre>
  
  <pre class="lang-js prettyprint-override"><code>// fragment of LoginPage.vue
  import { userService } from "../services";
  export default {
    components: {},
    data() {
      return {
        username: "",
        password: "",
        submitted: false
      };
    },
    computed: {
      loggingIn() {
        // return this.$store.state.authentication.status.loggingIn;
      },
      alert() {
        return this.$store.state.alert;
      }
    },
    created() {
      // reset login status
      userService.logout();
    },
    methods: {
      handleSubmit() {
        this.submitted = true;
        if (this.username &amp;&amp; this.password) {
          userService.login(this.username, this.password).then(
            ok =&gt; {
              this.$router.push({ path: "/" }, () =&gt; {});
            },
            e =&gt; {
              console.log(e);
            }
          );
        }
      }
    }
  };
  </code></pre>