Laravel Livewire 发出事件未触发

Laravel Livewire emit event not fire

我正在使用 Laravel 8、Livewire 2.x 我正在尝试使用发射事件,只是在我的 Livewire 组件中创建了一个简单的按钮

<button class="" wire:click="callme()">click me</button>

我的组件控制器

    public function callme()
    {
        $this->emitTo('Components.CustomizeModal', 'callFn');
    }

Components/CustomizeModal 控制器

    protected $listeners = [
        'callFn' => 'whatever'
    ];

    public function whatever()
    {
        dd("OK");
    }

已触发,响应为

{
    "effects": {
        "html": null,
        "emits": [
            {
                "event": "callFn",
                "params": [],
                "to": "Components.CustomizeModal"
            }
        ],
        "dirty": []
    },
    "serverMemo": {
        "checksum": "479fe7f16b16351c610955960c8299f45fd4aeed72d69f9cded044e3bff9a525"
    }
}

它根本没有触发这个方法,我也试过 emit,没有人知道吗?

或者您可以尝试直接从按钮发出事件。

<button wire:click="$emitTo('Components.CustomizeModal', 'callFn')">

并确保

Components.CustomizeModal

是合格的 livewire 组件,并且在事件发出时也会挂载,否则会失败