wire:click 一次调用两个方法

wire:click call two methods at once

我对 wire:click 事件有疑问,我想知道如何一次单击调用两个方法。 试了好几次都不成功,在文档里也没有查到任何信息 所以我的例子:

在本例中returnmethod setItem is not defined,但是该方法是在 Livewire 组件中定义的

wire:click="$emitTo('assign-modal', 'show-assign-modal'); setItem({{$book->id}})"

第二种情况: 在这种情况下,我不工作是正常的,但我决定给一个机会,尝试一下会发生什么

wire:click="$emitTo('assign-modal', 'show-assign-modal')" wire:click="setItem({{$book->id}})"

第三种情况: 在这种情况下,我尝试用自定义事件调用方法,但仍然没有成功

wire:click="$emitTo('assign-modal', 'show-assign-modal'); $emitSelf('setData', {{$book->id}})"

我还有一个想法,把数据传给第一个自定义事件assing-modal,然后再return把数据传给父组件,但是我觉得这个想法很糟糕,所以我们会感谢您的帮助。

您不能在 wire:click

中调用 2 个函数

所以在这种情况下你应该这样做

wire:click="setItem({{$book->id}})"

在组件中

public function setItem($bookId)
{
    $emitTo('assign-modal', 'show-assign-modal'); 
}

解决方法:使用 wire:clik 操作将按钮括起来,如下所示:

<span wire:click="printAll()">
    <button class="btn btn-primary" wire:click="$emit('showLoader')">
        Print All ️
    </button>
</span>