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

Laravel Livewire组件使用插槽时出现Undefined variable $slot错误

解决Livewire插槽“Undefined variable $slot”错误的排查方案

1. 确认Livewire组件类的正确性

你的Livewire组件必须存在对应的PHP类文件(如app/Http/Livewire/ExampleComponent.php),且正确继承Livewire\Component,即使类内无额外逻辑:

<?php

namespace App\Http\Livewire;

use Livewire\Component;

class ExampleComponent extends Component
{
    public function render()
    {
        return view('livewire.example-component');
    }
}

若缺少该类、命名空间错误或未继承基类,Livewire无法正常传递插槽数据。

2. 检查Livewire版本兼容性

  • Livewire 2.x:默认插槽$slot会自动传入视图,无需手动声明,但要避免在组件类中覆盖$slot变量。
  • Livewire 3.x:插槽机制与Blade组件对齐,默认插槽同样自动可用,若刚从2.x升级,需注意缓存残留问题。

3. 清除各类缓存

缓存可能导致旧视图或组件定义残留,执行以下命令:

php artisan view:clear
php artisan livewire:clear
php artisan cache:clear

4. 验证Blade模板的组件写法

确保Livewire组件标签闭合正确,禁止使用自闭合语法:

@extends('layouts.app')

@section('content')
    <livewire:example-component>
        <p>test</p>
    </livewire:example-component>
@endsection

5. 核对视图文件路径与命名

确认组件视图路径为resources/views/livewire/example-component.blade.php,文件名需与组件类的蛇形命名(ExampleComponent对应example-component)完全匹配,路径或命名错误会导致加载异常视图,无法识别插槽。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 23:04:56