Laravel-livewire:为什么触发事件会执行 render() 方法?

Wal*_*hid 3 html php laravel laravel-livewire

这是 Laravel 的 Livewire 框架

HTML:

<button wire:click="$emit('postAdded')">
Run Code Online (Sandbox Code Playgroud)

PHP:

protected $listeners = ['postAdded' => 'showPostAddedMessage'];

public function showPostAddedMessage()
{
    // Do stuff
}

public function render()
{
    return view('livewire.index');
}
Run Code Online (Sandbox Code Playgroud)

单击该按钮会调用 showPostAddedMessage(),然后调用 render()。如何在不调用 render() 的情况下监听事件?

小智 5

我遇到过同样的问题。就我而言,render() 方法正在关闭我的父模式框。我刚刚在模态div中添加了“wire:ignore”。每当 Livewire 调用 render() 方法时,它都会忽略该 div