Laravel 5 Vue路由器和Vuex

Laravel 5 Vue路由器和Vuex,laravel-5,vuejs2,vue-router,vuex,laravel-mix,Laravel 5,Vuejs2,Vue Router,Vuex,Laravel Mix,我有两个问题。 1.如何捕获未定义的路由并重定向到404页? 2.如何使用Vuex操作从api获取数据?我知道vuex突变必须是同步的,操作必须是异步的。但我可以得到突变的数据,并可以使用它。但我不能在行动中犯任何错误。请给我一个漂亮的例子来说明这种组件类型。我在laravel项目的laravel mix中使用vuex。谢谢…一般来说,如果你在一个应用程序中定义了所有路由,你就不应该得到未定义的路由。您可以在路由配置中定义重定向,如下所示: [ { path: 'admi

我有两个问题。 1.如何捕获未定义的路由并重定向到404页?
2.如何使用Vuex操作从api获取数据?我知道vuex突变必须是同步的,操作必须是异步的。但我可以得到突变的数据,并可以使用它。但我不能在行动中犯任何错误。请给我一个漂亮的例子来说明这种组件类型。我在laravel项目的laravel mix中使用vuex。谢谢…

一般来说,如果你在一个应用程序中定义了所有路由,你就不应该得到未定义的路由。您可以在路由配置中定义重定向,如下所示:

[
    {
        path: 'admin/posts/list',
        name: 'post-list',
    },
    {
        path: 'admin/posts',
        redirect: 'admin/posts/list'
    }
]

// you can also redirect to a named route instead
// of a path like this:
{
    path: 'admin/posts',
    redirect: { name: 'post-list' }
}
如果您希望执行捕获所有未匹配的路径并重定向到404组件/视图的操作,那么您可以这样做:

{
    path: '*',
    redirect: '/404'
}
确保它位于路由定义的底部,作为最后一条路由,因为它将捕获上面树中的任何路由

至于您关于突变/操作的问题,异步API请求(如从API获取数据)仅在您使用Vuex时在操作中发生。摘自:


谢谢你的回答我必须如何在突变或行动中使用它?您确实应该仔细阅读Vuex文档。调度行动的规定非常明确:
actions: {
  actionA ({ commit }) {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        commit('someMutation')
        resolve()
      }, 1000)
    })
  }
}