Blade视图使用双变量时触发语法错误问题排查
Blade组件属性传递语法错误原因及解决办法
错误原因
你在Blade组件的动态属性绑定里多套了一层{{ }}输出语法——:displayThing本身就代表传递PHP表达式/变量,不需要再用{{ ... }}包裹。{{ json_encode(true) }}会被Blade解析成输出字符串的逻辑,而不是作为组件属性的取值表达式,这就导致解析器混淆,抛出了语法错误。
解决办法
直接把PHP表达式写在:displayThing后面即可,去掉多余的{{ }}:
@foreach($posts as $post) <x-post.block :post="$post" :displayThing="json_encode(true)" /> @endforeach
如果你的组件displayThing属性本身接收的是布尔值,甚至可以更简单,直接传true就行,不需要json_encode:
@foreach($posts as $post) <x-post.block :post="$post" :displayThing="true" /> @endforeach
内容的提问来源于stack exchange,提问作者eskimo
相关产品推荐
相关产品推荐

