在刀片中,如果我们想检查当前路线是否与路线匹配,我们可以简单地使用:
@if(Route::currentRouteName() == 'parameter')
{{ 'yes' }}
@else
{{ 'no' }}
@endif
但是,如果我们想要将它与通配符匹配,例如:
@if(Route::currentRouteName() == 'parameter.*')
{{ 'yes' }}
@else
{{ 'no' }}
@endif
有没有解决方案?
我尝试了“*”和“:any”,但它没有用。
注意:我想检查路线,而不是网址。
任何帮助都将不胜感激。
谢谢,
Parth Vora
答案 0 :(得分:2)
使用Laravel的string helper功能
str_is('parameter*', Route::currentRouteName())
对于以parameter
答案 1 :(得分:1)
我有同样的问题。我想基于URI切换活动类。
在刀片服务器(Laravel 6x)中,我做到了:
try except ValueError
答案 2 :(得分:0)
您还可以使用Blades 自定义If语句,并在您的AppServiceProvider.php
中编写如下内容:
public function boot()
{
Blade::if('route', function ($route) {
return Str::is($route, Route::currentRouteName());
});
}
然后您可以在刀片视图中使用它,如下所示:
<li @route('admin.users*') class="active" @endroute>
<a href="{{ route('admin.users.index') }}">Users</a>
</li>