没有前缀名称的 Laravel 路由
Posted
技术标签:
【中文标题】没有前缀名称的 Laravel 路由【英文标题】:Laravel route without prefix name 【发布时间】:2018-11-30 13:49:10 【问题描述】:我正在尝试使用 Laravel 登陆页面路由。例如 Laravel 默认带你进入欢迎页面,斜杠后面没有 url 文本。
Route::get('/', function ()
return view('welcome');
);
在我的欢迎页面中,我使用以下条件根据路由名称应用样式。
!! Route::is('/')? 'class="index"':'' !!
但是此代码不起作用。如何正确查看欢迎页面的路径?
编辑:使用“请求”而不是“路由”使其工作。但是为了保持一致性,我想知道是否也可以使用“Route”来完成。
【问题讨论】:
查看***.com/questions/30046691/… 【参考方案1】:为您的路线命名并使用此名称来调整您的样式
Route::get('/', function ()
return view('welcome');
)->name('home');
在你的刀片中
!! (Route::currentRouteName() == 'home')? 'class="index"':'' !!
【讨论】:
谢谢!正是我想要的!【参考方案2】:试试这个:
<li class="@if (request()->is('/')) index @endif"></li>
// ...
</li>
你也可以使用通配符:
<li class="@if (request()->is('/some-url/*')) active @endif">
// ...
</li>
【讨论】:
【参考方案3】:试试这个
@if(Request::is('/'))
class="index"
@endif
或者更简单的
if(Request::is('/'))
class="index"
【讨论】:
不会有任何区别 是的,两者在输出方面相似,但第一个是刀片模板代码,第二个是 php 代码,【参考方案4】:试试这个:
<li !! Request::is('/') ? 'class=index' : '' !!>...</li>
【讨论】:
【参考方案5】:Route::get('/', function ()
return view('welcome');
)->name('home');
在刀片中
class = "default class @if(\Request::route()->getName() == 'home')your_class @endif"
【讨论】:
\Request::route()->getName() 返回当前路由名称以上是关于没有前缀名称的 Laravel 路由的主要内容,如果未能解决你的问题,请参考以下文章