#laravel #laravel-7
#laravel #laravel-7
Вопрос:
я пытался использовать Request::is() для печати некоторого класса начальной загрузки, но, к сожалению, работает только на родительском маршруте ‘user’, но когда я использую в их дочернем не работающем ‘user / create’
Вот мой код
<ul class="dropdown-menu">
<li class="{{ Request::is('posts') ? 'active' : '' }}"><a class="nav-link" href="/posts">Posts</a></li>
<li class="{{ Request::is('posts/create') ? 'active' : '' }}"><a class="nav-link" href="/posts/create">Create New</a></li>
</ul>
Комментарии:
1. добро пожаловать в stackoverflow, можете ли вы указать больше о
not working
написанном2. когда URL-адрес ‘posts / create’, класс еще не активен, поэтому я думаю, что проблема в моем коде «Request::is()» @bhucho
Ответ №1:
вы можете попробовать использовать (*) для любых маршрутов до или после URL :
<ul class="dropdown-menu">
//post/sub_url
<li class="{{ Request::is('posts/*') ? 'active' : '' }}"><a class="nav-link" href="/posts">Posts</a></li>
//match url
<li class="{{ Request::is('posts/create') ? 'active' : '' }}"><a class="nav-link" href="/posts/create">Create New</a></li>
//match any sub_url with any prefix
<li class="{{ Request::is('*/posts/create/*') ? 'active' : '' }}"><a class="nav-link" href="/posts/create">Create New</a></li>
</ul>
Ответ №2:
Попробуйте это Request::segment(1)
для родительского, потому что для дочернего также segment(1)
будет post
или я предпочитаю вставлять in_array()
, поэтому мне нужно, чтобы я мог добавить больше маршрута к родительскому active
<ul class="dropdown-menu">
<li class="{{ in_array(Request::segment(1),['post']) ? 'active' : '' }}"><a class="nav-link" href="/posts">Posts</a></li>
<li class="{{ in_array(Request::segment(1),['post']) ? 'active' : '' }}"><a class="nav-link" href="/posts/create">Create New</a></li>
</ul>
Комментарии:
1. работает только на родительском маршруте, дочерний по-прежнему не меняется на активный
2. @CaturBagas попробуйте сейчас