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 组件,并且在事件发出时也会挂载,否则会失败
我正在使用 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 组件,并且在事件发出时也会挂载,否则会失败