Laravel 刀片 - 如果满足条件,则添加一个类
Posted
技术标签:
【中文标题】Laravel 刀片 - 如果满足条件,则添加一个类【英文标题】:Laravel blade - Add a class if a condition is met 【发布时间】:2014-06-16 11:13:54 【问题描述】:这很简单,但我似乎无法用刀片来做到这一点,我通常会为此返回 php,但是,因为我不能用刀片声明一个新的 php 变量(不打印它,也就是说) 如果满足某个条件,我应该如何更改简单的类名?以这个链接为例,我只想添加“活动”类 if $hostess->active=1
html::linkRoute('hostesses.index', 'Archived', $params, array('class' => 'btn btn-default'))
我知道如何用 php 做到这一点,但是如何用刀片做到这一点?
【问题讨论】:
【参考方案1】:你可以这样做:
// App/Http/routes.php
Route::get('foo/bar', 'FooController@bar);
// Your blade file
<li class=" Request::path() == 'foo/bar' ? 'active' : '' ">
<a href=" url('foo/bar') "></i> Bar</a>
</li>
【讨论】:
完美的布局扩展【参考方案2】:这样的?
HTML::linkRoute('hostesses.index', 'Archived', $params, array('class' => $hostess->active ? 'btn btn-info' : 'btn btn-default'))
【讨论】:
【参考方案3】:还有另一种选择:
<li class="@if(Request::is('/')) is-active @endif">
<a href=" route('index') ">Home</a>
</li>
【讨论】:
【参考方案4】:这里有一个更清晰的方法来做到这一点。哪个应该与路由名称匹配。
request()->routeIs('admin.cities')
【讨论】:
这是最好的方法,尤其是当您的路径中有变量或语言环境时【参考方案5】:现在我们可以像这样使用带有@class
指令的条件类
@php
$isActive = false;
$hasError = true;
@endphp
<span @class([
'p-4',
'font-bold' => $isActive,
'text-gray-500' => ! $isActive,
'bg-red' => $hasError,
])></span>
https://laravel.com/docs/8.x/blade#conditional-classes
【讨论】:
似乎不适用于$loop
变量以上是关于Laravel 刀片 - 如果满足条件,则添加一个类的主要内容,如果未能解决你的问题,请参考以下文章
如何在从视图刀片 laravel 加载的 vue 组件上添加条件?
如何在 laravel 刀片视图中打破 foreach 循环?
Laravel 4 路由 - 如果条件不满足,则可以跳过路由