Laravel 刀片“request()->is()”语法问题

Posted

技术标签:

【中文标题】Laravel 刀片“request()->is()”语法问题【英文标题】:Laravel blade "request()->is()" syntax issue 【发布时间】:2021-12-17 00:41:31 【问题描述】:

我正在使用以下代码使链接显示为活动状态。

<a href="/profile/ $user->id " class=" request()->is('/profile/'.$user->id) ? 'text-blue-500' : '' ">View Profile</a>

它以前适用于非动态链接。但是现在当我在 url 中传递数据时,它已经停止工作。我试过 dd-ing request()->is() 部分,尽管 url 和模式匹配,但它返回 false。

【问题讨论】:

您可以与当前路线比较:url()->current()。或使用is() 与不带参数的路由名称。 你在使用命名路由吗?? 我还建议您使用 route() 帮助器来回显 href 而不是硬编码它。这样,如果您将路由更改为例如 /user/profile,所有链接也会更改。 【参考方案1】:

您可以检查路线名称。

试试这个:

<a href="/profile/ $user->id " class="  Route::currentRouteName() == 'your.route.name' ? 'text-blue-500' : '' ">View Profile</a>

【讨论】:

使用路由名称,当前的-&gt;is() 将是一个更短的解决方案。

以上是关于Laravel 刀片“request()->is()”语法问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用ajax在刀片中显示验证错误?

Laravel - 在列中的json / array中保存多个字段值

如何从本地存储中获取阵列图像到刀片文件

Laravel 刀片视图不工作,没有刀片工作

Laravel - 刀片注释,刀片渲染导致页面崩溃

@include 之后刀片未在刀片中显示内容 - Laravel 4.2