已配置 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
我有 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