【发布时间】:2021-05-20 23:16:11
【问题描述】:
在我的navigation-dropdown.blade.php(来自Laravel Jetstream)中,我有:
<x-jet-responsive-nav-link href="{{ route('dashboard') }}" :active="request()->routeIs('dashboard')">
{{ __('Dashboard') }}
</x-jet-responsive-nav-link>
<x-jet-responsive-nav-link href="/purchases" :active="request()->routeIs('purchases.index')">
{{ __('Purchases') }}
</x-jet-responsive-nav-link>
<x-jet-responsive-nav-link href="/debug" :active="request()->routeIs('debug')">
{{ __('Debug') }}
</x-jet-responsive-nav-link>
在我的routes/web.php 中,我有:
Route::middleware(['auth:sanctum', 'verified'])->resource('purchases','App\Http\Controllers\PurchaseController')->name('*', 'purchases');
Route::middleware(['auth:sanctum', 'verified'])->get('/debug', [DebugController::class, 'index'])->name('debug');
我访问/purchases 和:isActive 没有设置,但是当我访问/debug 时,它设置了。换句话说,当您按预期在/debug 视图上时,将->name('debug') 附加到路由会为“调试”添加下划线。
但是,将->name('purchases') 附加到资源路由会导致参数不足的异常。调用->name('*', 'purchases') 不会引发异常但什么也不做(该导航项上没有下划线)。
在/debug 视图中,您会看到:
在/purchases 视图中,您看不到下划线:
我该如何解决这个问题?我也试过:
<x-jet-responsive-nav-link href="/purchases" :active="request()->routeIs('purchases')">
{{ __('Purchases') }}
</x-jet-responsive-nav-link>
【问题讨论】:
标签: php laravel laravel-livewire jetstream