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

如何在Laravel Blade组件中判断$slot插槽是否为空

结论

你给出的写法仅在$slot完全无内容时生效,存在边界场景兼容问题,不属于最优实现。

原写法的问题

直接判断$slot的逻辑没有过滤空白字符,如果调用组件时插槽内仅输入换行、空格这类无意义的空白内容,$slot会被判定为非空,最终页面输出空白而不会触发默认提示,不符合需求预期。

正确实现方式

Laravel 的 Blade 插槽对象本身内置了isEmpty()和isNotEmpty()方法,专门用于判断插槽内容是否为空,会自动过滤首尾空白字符,兼容所有边界场景,是官方推荐的判空方案,兼容 Laravel 7 及以上所有版本。

代码示例

<div>
@if ($slot->isNotEmpty())
    {{ $slot }}
@else
    No available content
@endif
</div>

也可以简化成三元表达式写法:

<div>
    {{ $slot->isNotEmpty() ? $slot : 'No available content' }}
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:48:02