bastinald/laravel-livewire-routes

Laravel Livewire 全页组件路由。

3.0.0 2021-09-10 00:10 UTC

This package is auto-updated.

Last update: 2024-09-11 09:17:47 UTC


README

此包允许您通过 route 方法直接在您的全页 Livewire 组件中指定路由。该方法返回 Laravel Route 门面,从而让您完全控制。

文档

安装

通过 composer 需求此包

composer require bastinald/laravel-livewire-routes

使用

路由方法

在您的全页 Livewire 组件中声明一个 route 方法以路由到它们

namespace App\Http\Livewire\Auth;

use Illuminate\Support\Facades\Route;
use Livewire\Component;

class Login extends Component
{
    public function route()
    {
        return Route::get('login')
            ->name('login')
            ->middleware('guest');
    }
    
    public function render()
    {
        return view('livewire.auth.login');
    }
}

如您所见,route 方法返回 Laravel Route 门面,因此您可以使用此方法指定您通常在路由文件中指定的任何内容。

使用路由参数

按常规将路由参数传递给组件的 mount 方法

namespace App\Http\Livewire\Users;

use App\Models\User;
use Illuminate\Support\Facades\Route;
use Livewire\Component;

class Update extends Component
{
    public $user;

    public function route()
    {
        return Route::get('users/update/{user}')
            ->name('users.update')
            ->middleware('auth');
    }
    
    public function mount(User $user)
    {
        $this->user = $user;
    }
    
    public function render()
    {
        return view('livewire.users.update');
    }
}

是的,这甚至适用于自动模型绑定!