已配置 Livewire 脚本但未触发事件

Livewire scripts configured but events not triggered

我有 3 个主要布局,并相应地配置了 livewire 脚本。这一切都在一个单独的组件功能中工作。我通过终端创建一个新组件来复制我需要的组件。

此组件使用 $this->emitUp('listener') 向父组件发出事件,并且不会像在其他组件中那样被触发。

//first component

protected $listeners = ['paymentSuccessSingle'];

public function render()
{
 return view('livewire.unlock-contact')
     ->layout('layouts.app');
}

public function paymentSuccessSingle($job_id)
{
   Log::info('payment done');
   $this->unlockContact = true;
}
//component 2
protected $listeners = ['paymentSuccessSingleJob'];

public function render()
{
    return view('livewire.unlock-job');
}

public function paymentSuccessSingleJob($job_id)
{
    Log::info('payment done');
    $this->unlockJob = true;
}

组件 2 不工作,组件 1 工作。我做错了什么?

您忘记在第二个组件中定义布局。

public function render()
{
    return view('livewire.unlock-job')
      ->layout('layouts.app');
}

如果您没有定义此脚本的托管位置,livewire 无法理解您的意思。 The docs