如何更改 Laravel 中的活动标题项?

所以我在 site.blade.php 中有一个标题,我添加了一个活动类,这样用户就可以知道他在哪个页面。但是,由于每个页面的标题都是相同的,我不知道如何更改类根据用户所在的页面,从一个项目到另一个项目处于活动状态。


标头的基本演示


<li class="active"> <a href="{{ url('') }}">Home</a> </li>


<li> <a href="{{ url('blog') }}">Blog</a> </li>

该课程就是那个,但是当我转到博客页面时,我想从家中删除活动课程并将其添加到博客中。


有什么帮助吗?


莫回无
浏览 179回答 3
3回答

慕斯王

你可以使用这样的is()方法:<li class="{{Request::is('/')?'active':''}}"> <a href="{{ url('') }}">Home</a> </li><li> <a class="{{Request::is('blog')?'active':''}}" href="{{ url('blog') }}">Blog</a> </li>

白衣染霜花

我建议您使用命名路由并设置一个辅助函数。这将有助于保持导航清洁。示例命名路线Route::get('/','HomeController@index')->name('home');Route::get('/blog','BlogController@index')->name('blog.index');Route::get('/blog/{blog}','BlogController@show')->name('blog.show');示例辅助函数if (!function_exists('isActiveRoute')){&nbsp; &nbsp; /**&nbsp; &nbsp; &nbsp;* Asserts active route&nbsp; &nbsp; &nbsp;*&nbsp; &nbsp; &nbsp;* @param $routes&nbsp; &nbsp; &nbsp;* @param string $output&nbsp; &nbsp; &nbsp;* @return string&nbsp; &nbsp; &nbsp;*/&nbsp; &nbsp; function isActiveRoute($routes, $output = 'active')&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; foreach ((array)$routes as $route) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (Route::currentRouteName() == $route) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return $output;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}样品刀片导航<li class="{{ isActiveRoute('home') }}"> <a href="{{ route('home') }}">Home</a> </li><li class="{{ isActiveRoute('blog.index') }}"><a href="{{ route('blog.index') }}">Blog</a> </li>// Or pass an array of routes if named accordingly<li class="{{ isActiveRoute(['blog.index','blog.show']) }}"><a href="{{ route('blog.index') }}">Blog</a> </li>

至尊宝的传说

您可以将 $currentPage 变量传递给每个控制器方法中的视图,并在标头本身中执行以下操作:<li class="{{ $currentPage=='home' ? 'active' : '' }}"> <a href="{{ url('') }}">Home</a> </li><li class="{{ $currentPage=='blog' ? 'active' : '' }}"> <a href="{{ url('blog') }}">Blog</a> </li>你的控制器:return view("blog", ["currentPage"=>'blog']); // do the same for home这样,三元运算符仅在您位于正确页面上时才添加“活动”类。
打开App,查看更多内容
随时随地看视频慕课网APP