为什么路由在 laravel-livewire 中不起作用?

问题描述

我正在使用 laravel-livewire。在我的项目路线中不起作用。

这里是路线列表..

<?PHP

use App\Http\Livewire\HomeComponent;
use App\Http\Livewire\ShopComponent;
use App\Http\Livewire\CartComponent;
use App\Http\Livewire\CheckoutComponent;
use Illuminate\Support\Facades\Route;

Route::get('/',HomeComponent::class);

Route::get('/shop',ShopComponent::class);

Route::get('/cart',CartComponent::class);

Route::get('/checkout',CheckoutComponent::class);

从上面的路线只有第一条路线正常工作。但其余的都不起作用。 他们显示 404(未找到)。

这里我提供第二条路线组件和资源材料。

商店组件

 <?PHP

 namespace App\Http\Livewire;
 use Livewire\Component;

class ShopComponent extends Component
{
 public function render()
 {
    return view('livewire.shop-component')->layout('layouts.base');
 }
}

商店-component.blade.PHP

<div>
Shop Page
</div>

为什么代码不起作用? 这是问题的屏幕截图..

enter image description here

解决方法

您似乎遇到了一些路由问题。这可能是由路由缓存引起的。 Laravel 路由缓存用于显着减少注册所有应用程序路由 (Laravel Routing) 所需的时间。您需要记住的是,当您缓存对路由文件所做的路由更改时,不会自动更新,因此您需要通过运行来删除缓存

php artisan route:clear

或通过运行重置缓存

php artisan route:cache 

最后,要查看您的路线列表,请运行以下命令

php artisan route:list

希望这能解决您的问题。