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

Laravel+Livewire3渲染Blade组件时提示‘Undefined variable $slot’错误

Laravel Livewire 3 渲染 Blade 组件时出现「Undefined variable $slot」错误解决办法

错误原因

你同时启用了两种布局逻辑:

  1. Livewire 全局配置中指定了布局 'layout' => 'components.layouts.app'
  2. 在 counter.blade.php 里用 <x-layouts.app> 组件嵌套了内容

两种机制冲突导致报错:Livewire 会自动将组件视图内容传递给配置的布局,但不会以 Blade 组件插槽的方式传递 $slot 变量,因此触发未定义错误。

解决方案(二选一即可)

方案一:移除 Livewire 全局布局配置,仅用 Blade 组件包裹

  1. 打开 config/livewire.php,注释或删除全局布局配置项:
// 'layout' => 'components.layouts.app',
  1. 保留 counter.blade.php 中的 Blade 组件包裹逻辑:
<x-layouts.app>
<div>
    <h1>{{ $count }}</h1>
 
    <button wire:click="increment">+</button>
    
    <button wire:click="decrement">-</button>
</div>
</x-layouts.app>

方案二:移除视图中的 Blade 组件包裹,使用 Livewire 布局机制

  1. 修改 counter.blade.php,去掉 <x-layouts.app> 标签,仅保留核心内容:
<div>
    <h1>{{ $count }}</h1>
 
    <button wire:click="increment">+</button>
    
    <button wire:click="decrement">-</button>
</div>
  1. 保持 Livewire 配置中的 'layout' => 'components.layouts.app' 不变,此时 Livewire 会自动将组件视图内容作为 $slot 传递给 Blade 布局组件,app.blade.php 无需修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:55:54