【问题标题】:Laravel blade "request()->is()" syntax issueLaravel 刀片“request()->is()”语法问题
【发布时间】: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,所有链接也会更改。

标签: laravel laravel-8 laravel-blade


【解决方案1】:

您可以检查路线名称。

试试这个:

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

【讨论】:

  • 使用路由名称,当前的-&gt;is() 将是一个更短的解决方案。
猜你喜欢
  • 2020-04-10
  • 2018-06-07
  • 2020-04-08
  • 2012-12-15
  • 2016-07-11
  • 2018-11-04
  • 2018-07-27
  • 2014-10-13
  • 1970-01-01
相关资源
最近更新 更多