提问者:小点点

Laravel Livewire发射事件未触发


我使用的是Laravel 8,Livewire 2。我尝试使用emit事件,只是在Livewire组件中创建了一个简单的按钮

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

我的组件控制器

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

组件/CustomizeModal控制器

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

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

它被触发了,响应是

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

它根本没有发射的方法,我也试过发射,没有人有任何想法吗?


共1个答案

匿名用户

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

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

确保

组件。定制模式

是合格的livewire组件,并且在事件发出时也已安装,否则将失败