微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查子菜单项中的当前网址

如何解决检查子菜单项中的当前网址

我想将自定义活动类添加到具有当前路由的边菜单中。我知道我可以通过url()->current()获取当前网址并将其与route('something')进行比较,但是我面临的挑战是当我希望在选择子项时同时在父项和子项菜单项上获得活动类

我没有任何孩子的菜单项的代码是:

<li class=" @if(url()->current()==route('home')) custom_active_menu @endif ">

解决方法

您可以将if与多个或父语句一起使用。我通常使用Request类,因此我可以使用仅带有星号而不是多个或语句的模式。但是,您可以随意使用任何东西。使用Request类的典范

<li class="{{ \Request::is('menu/*') || \Request::is('menu') ? 'active' : ''  }}">
    <a href="#">
        <i class="metismenu-icon pe-7s-bandaid"></i>
        Menu
        <i class="metismenu-state-icon pe-7s-angle-down caret-left"></i>
    </a>
    <ul>
        <li>
            <a href="{{ route('menu.index') }}" class="{{ \Request::is('menu') ? 'active' : ''  }}">
                <i class="metismenu-icon"></i>
                Menu Index
            </a>
        </li>
                        
        <li>
            <a href="{{ route('menu.create') }}" class="{{ \Request::is('menu/create') ? 'active' : ''  }}">
                <i class="metismenu-icon"></i>
                Menu Create
            </a>
        </li>
    </ul>
</li>

在这里,我正在使用\Request::is('menu/*')检查请求url中的模式,这意味着如果请求url与以li开头的任何模式(如{{1)匹配,则此menu/将始终处于活动状态}}或menu/create。使用or语句,我正在检查确切的请求网址menu/1/edit

对于孩子,这只是一个简单的if语句。如果当前网址与菜单网址匹配,则添加活动类别。

以您的示例为例,我会为父母做类似的事情

menu

对于孩子来说,只有一个

<li class=" @if (url()->current() == route('home') || url()->current() == route('another_route')) custom_active_menu @endif ">

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。