对于以下URL:
我想将“活动”类应用于在Laravel中动态导航的用户,如下所示:
<ul>
<li class="active"><a href="{{ route('users') }}">Users</a></li>
<li class=""><a href="{{ route('pages') }}">Pages</a></li>
</ul>
在不使用第三方插件的情况下,干净且可重复使用的方法是什么?
答案 0 :(得分:0)
方法1:单行快捷方式解决方案
使用{{request()-> is(' users ')吗? this answer中所述的'active':''}}如下:
<ul>
<li class="{{ request()->is('*users*') ? 'active' : '' }}"><a href="{{ route('users') }}">Users</a></li>
<li class="{{ request()->is('*pages*') ? 'active' : '' }}"><a href="{{ route('pages') }}">Pages</a></li>
</ul>
方法2:干净且可重复使用的解决方案
您可以按照以下步骤创建和使用名为“活动”的自定义帮助程序:
- 在您的课程属性中添加{{active('partial-url')}}
<ul>
<li class="{{ active('users') }}"><a href="{{ route('users') }}">Users</a></li>
<li class="{{ active('pages') }}"><a href="{{ route('pages') }}">Pages</a></li>
</ul>
- 在您的应用目录中创建一个名为“ helpers.php”的文件,并添加此帮助器功能
<?php
function active($partialUrl){
return request()->is("*".$partialUrl."*") ? 'active' : '';
}
- 通过在composer.json文件中添加以下行来添加helpers.php文件以自动加载
...
"autoload": {
...
"files": [
...
"app/helpers.php",
],
...
},
...
上面的代码片段中的“ ...”表示可能有或没有其他几行代码
- 通过运行以下命令来转储自动加载器
composer dump-autoload