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

如何在Laravel的@include()中传递包含{{ }}语法的路由参数

问题根因
  1. Blade 模板的 {{ }} 语法仅用于在HTML输出区域打印变量/表达式结果,@include 的参数数组本身处于PHP解析上下文,不允许嵌套 {{ }}。
  2. 原写法存在单引号嵌套冲突:外层数组值用单引号包裹,内部route('article')又使用单引号,直接触发语法解析错误,你收到的报错翻译为:

解析错误(ParseError):语法错误,意外的字符串 'article' (T_STRING),期望符号 ']'

解决方案

常用场景(传递解析完成的路由URL)

绝大多数场景下你需要的是直接传递route()函数生成的真实URL给子模板,直接写即可,不需要加{{ }}:

@include('includes.content.single-article', ['href' => route('article')])

你子模板中原有的 <a href="{{ $href }}"> 代码无需修改,渲染后会直接输出带真实URL的a标签。

特殊场景(需要在最终HTML中保留未解析的{{ route('article') }}字符串)

如果你确实需要输出Blade语法字符串到前端,转义内部单引号即可:

@include('includes.content.single-article', ['href' => '{{ route(\'article\') }}'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:27:03