Laravel - 使用惯性访问路由来填充 Vuejs3 中的道具
Posted
技术标签:
【中文标题】Laravel - 使用惯性访问路由来填充 Vuejs3 中的道具【英文标题】:Laravel - Routing with Inertia Visit to fill prop in Vuejs3 【发布时间】:2021-11-11 01:34:15 【问题描述】:我想在 Laravel 路由中不使用控制器将数据从 page A
发送到 page B
。 ( Laravel / VueJS3 / InertiaJS )
在我的第一页,我有这个方法:
// first.vue
tappedCourse(course: Course): void
const data: secondParams =
courseName: course.name,
;
Inertia.get("/second", data as any);
,
在我的路线上:
// web.php
Route::inertia('/second', 'Course/Second');
最后是我的第二页道具:
// second.vue
export default defineComponent(
props:
courseName:
type: String,
required: true,
default: "",
,
,
问题是第二页prop没有接收到值,但是如果我手动插入:
// web.php
Route::inertia('/second', 'Course/Second', [
"couseName" => "Inertia + Laravel"
]);
一切正常。
有什么方法可以在我的路线中获取“查询参数”吗?喜欢$courseName
并发送到我的second.vue
喜欢上面的代码。
注意:inertia.get
正在工作,因为我在 URL 中收到参数名称:值。
http://localhost:8000/second?name="Inertia + Laravel"
注意 2:我的偏好是 POST,但我没有在文档中找到如何使用 laravel 路由 ( Route::inertia )。
【问题讨论】:
【参考方案1】:Route::inertia
仅处理 GET
和 HEAD
请求。试试这个:
Route::post('/second', function ($courseName)
return Inertia::render('Course/Second', compact('courseName'));
);
【讨论】:
以上是关于Laravel - 使用惯性访问路由来填充 Vuejs3 中的道具的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 8 - Jetstream +惯性.js - Vue开发工具不起作用