Vue Router Warning and Router.push is not Functioning

Viewed 437

I am trying to route to another page after getting response from adonis project. Calling to post method is working. However router.push('/') is not functioning. Only login page reloaded every time when I submitted the b-from.

     async login({ commit, state }) {
         console.log("Login")
       try {
         const response = await HTTP()
           .post('/admin/login', {
             email: state.loginEmail,
             password: state.loginPassword
           })
           .then(response => {
             console.log("Ok")
             console.log(response.data)
             if (response.data == 'UserNotFoundException') {
               alert('User not found')
               router.push('/')
             }
             if (response.data == 'PasswordMisMatchException') {
               alert('password not ms')
               router.push('/')
             }
             if (response.data.token) {
               console.log(response)
               //commit('setToken', response.data.token)
               router.push('/')
             } else {
               router.push('/')
             }
           })
           console.log(response)
           //return router.push('/')
       } catch (error) {
         console.log(error)
       }
     },

Routes:

routes: [
    {
      name: "FullLogin",
      path: "/login",
      component: () => import("@/views/authentication/FullLogin"),
    },
    {
      
      path: "/",
      redirect: "/dashboard/docs-dashboard",
      component: () => import("@/layouts/full-layout/FullLayout"),
      children: [
        {
          name: "Dashboard",
          path: "/dashboard/docs-dashboard",
          component: () => import("@/views/dashboards/docsDashboard"),
        },
       ]
    }
]
router.beforeEach((to, from, next) => {
    next() 
})

I can't figure out why router.push('/') is not routing.

1 Answers

According to docs:

Note: Inside of a Vue instance, you have access to the router instance as $router. You can therefore call this.$router.push.

Related