Vue js laravel 8 路由

Posted

技术标签:

【中文标题】Vue js laravel 8 路由【英文标题】:Vue js laravel 8 routing 【发布时间】: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 【参考方案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 的任何正则表达式?感谢您的宝贵时间!

以上是关于Vue js laravel 8 路由的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js:在 laravel 中实现 MPA(多页面应用程序)的最佳方式

Vue.js 组件中的 Laravel 路由链接?

Laravel + Vue.js (axios) 使用网络路由 - 未经身份验证

Laravel + Vue JS 路由显示找不到页面

Laravel + Vue.js 应用程序路由无法正常工作

Laravel 和 Vue JS 路由