【问题标题】:Vue js laravel 8 routingVue js laravel 8 路由
【发布时间】:2021-07-11 07:30:22
【问题描述】:

当我尝试在 vue 路由器中添加路由路径时,我仍然感到困惑:

{
        path: '/admin/blog/archived_blogs',
        name: 'ArchivedBlogs',
        meta: { title: 'Archived Blog' },
        component: ArchivedBlog
},

除了删除我出错的地方之外,一切都很好 405(不允许的方法)

此路由不支持 POST 方法。支持的方法: 得到,头。

我能做的就是改变路径

{
   path: '/admin_blog_archived_blogs',
   name: 'ArchivedBlogs',
   meta: { title: 'Archived Blog' },
   component: ArchivedBlog
},

我当前使用的网络路由是

Route::get('/{slug?}', [HomeController::class, 'index'])->where('slug', '[\/\w\.-]*')->name('home');

有什么建议吗?

【问题讨论】:

  • Route::get 说它是 GET 路由,如果你想要 POST 路由,请更改为 Route::post

标签: php laravel vue.js nginx vue-router


【解决方案1】:

您还需要使用any() 来捕获所有方法

喜欢

Route::any('/{slug?}', [HomeController::class, 'index'])->where('slug', '[\/\w\.-]*')->name('home');


我用的SPA

Route::any('{all}', [HomeController::class, 'index'])
    ->where('all', '^(?!api).*$')
    ->where('all', '^(?!storage).*$');

像这样,所有与 web 相关的路由句柄 Vuejsstorageapi laravel 的路由句柄

【讨论】:

  • 将 Vue 路由器 4 引入 Laravel 8 应用程序时...是否可以使用 Vue 路由器进行一些 Vue 组件路由,然后使用 Laravel 8 网络路由完全分离不相关的路由?例如,在我的应用程序中,当我加载仪表板时,Vue 路由器一直在寻找 / 路由……但我没有 Main 或 Home Vue 组件……而是使用 Web 路由加载我的 Laravel 应用程序仪表板网页.php。我该如何处理这样的场景?
  • @PA-GW 你试过上面的解决方案了吗?
  • 我没有……在实施之前我想问一下我是否需要为我拥有的每一个控制器/网络路由执行此操作……大约是 50。我看到它适用于HomeController::class 仅限以上。此外,它如何知道处理Vue.js 路由?我在where 子句中看到了apistorage 的正则表达式,但没有看到vue 的任何正则表达式?感谢您的宝贵时间!
猜你喜欢
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 2021-08-17
  • 2021-09-01
  • 2018-11-30
  • 2017-01-12
  • 2019-01-09
相关资源
最近更新 更多