Настройка через JS довольно бессмысленна, поскольку, как только она перенаправит и загрузит новую страницу, эта настройка будет забыта. Вы хотите, чтобы PHP проверил ваш текущий маршрут и назначил class
на основании этого. Это можно сделать с помощью проверки request()->is()
:
При переходе к myapp.com/home
используйте следующее:
<li class="{{ request()->is('home') ? 'active': '' }}">
<a href="{{ route('home') }}">
Home
@if(request()->is('home'))
<span class="sr-only">(current)</span>
@endif
</a>
<li>
Это демонстрирует, как использовать через троичный оператор (лучше всего использовать для встроенных операторов) и синтаксис блейда @if()@endif
. Просто убедитесь, что ваша проверка is()
соответствует вашему маршруту, поэтому ->is("")
для Route::get("/", ...);
и т. Д., И т. Д., И PHP автоматически назначит класс active
и элемент (current)
SR.
Примечание; Вероятно, есть способ справиться с этим для именованных маршрутов (например, route('home')
), но я не слишком часто использовал именованные маршруты, поэтому я не уверен в этом. Кроме того, может быть лучше присвоить результат request()->is('home')
переменной, чтобы избежать повторения кода.