You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Inertia中如何为链接传递动态数据生成详情页路由

解决方案

1. 确认后端路由定义

确保你的Laravel后端是带参数的命名路由,比如在routes/web.php中配置:

Route::get('/viewproduct/{id}', [ProductController::class, 'show'])->name('viewproduct');

这里的{id}就是对应详情页的动态参数,和你要传递的product.id对应。

2. 修改前端Link组件的href绑定

你当前的代码没有给route()助手传递动态参数,所以生成的链接缺少ID。只需把product.id作为参数传入route()函数即可:

<Link :href="route('viewproduct', product.id)" class="btn" style="background: #24882c; color: white;">View more</Link>

如果路由参数有自定义名称(比如路由里写的是{product}),可以用关联数组传递参数:

<Link :href="route('viewproduct', { id: product.id })" class="btn" style="background: #24882c; color: white;">View more</Link>

修改后就能生成/viewproduct/1这类包含动态ID的详情页链接。

3. 常见问题排查

  • 检查product.id是否有效:可以在模板中临时输出{{ product.id }}确认是否存在正确的ID值。
  • 路由参数名要匹配:如果后端路由定义的参数是{product},传递时就要用{ product: product.id },不能用id。
  • 命名路由名称要准确:确保route()里的名称和后端路由的name('viewproduct')完全一致,大小写敏感。

内容的提问来源于stack exchange,提问作者elo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 21:37:25