延迟加载
延迟加载
Livewire 提供了 wire:init 指令,以在呈现组件后立即执行操作。 如果您不想承受整个页面的加载,但是想在页面加载后立即加载一些数据,这将很有帮助。
use Livewire\Component;
class ShowPost extends Component
{
public $readyToLoad = false;
public function loadPosts()
{
$this->readyToLoad = true;
}
public function render()
{
return view('livewire.show-posts', [
'posts' => $this->readyToLoad
? Post::all()
: [],
]);
}
}
<div wire:init="loadPosts">
<ul>
@foreach ($posts as $post)
<li>{{ $post->title }}</li>
@endforeach
</ul>
</div>
Livewire 组件在页面上呈现后,将立即运行 loadPosts
操作。