【Laravel實戰】3分鐘搞懂Livewire的Defer Loading

【Laravel實戰】3分鐘搞懂Livewire的Defer Loading

Livewire 提供你 wire:init 語句讓你能在組件渲染完畢後立即執行行動。這在於你不想要載入整個頁面,而只想在頁面載入後載入一些資料時非常有用

//app/Http/Livewire/ShowPost.php

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()
                : [],
        ]);
    }
}
//resources/views/livewire/show-post.blade.php

<div wire:init="loadPosts">
    <ul>
        @foreach ($posts as $post)
            <li>{{ $post->title }}</li>
        @endforeach
    </ul>
</div>

loadPosts 行動 將會在 Livewire 組件被渲染在頁面上時立即被執行


分享這篇文章:

關聯文章:

訂閱電子報,索取 Laravel 學習手冊

價值超過 3000 元,包含常用 Laravel 語法與指令!

Laravel 百萬年薪特訓營

從最基礎的 PHP 語法開始,包含所有你該知道的網頁基礎知識,連同 Laravel 從零開始一直到實戰,最後還將告訴你如何找好工作,讓你及早擁有百萬年薪