在 laravel-blade 中生成动态 css 类
Generate dynamic css classes in laravel-blade
我处于经典场景中,我希望根据是否发生错误来更改 css 类。如下图,其中has-error要相应改变。
<div class="form-group has-error">
该项目位于 Laravel,目前我们主要想在 Blade
完成所有工作,我们提出了以下可行的解决方案,但看起来并不漂亮或不直观全部,所以问题是,是否有更优化的方法?
<div class="form-group
@if($errors->has('email'))
has-error
@endif
">
我就是这么做的。你也可以这样做:
@if($errors->has('email'))
<div class="form-group has-error">
//You can also edit classes of other elements
</div>
@else
<div class="form-group"></div>
@endif
尝试 if else 条件简写代码:
<form class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
这看起来很整洁。
甚至 Laravel 5.2 身份验证表单也是这样完成的。
您可以使用数组来存储 class 个名字
@php
$formGroupClasses = ['form-group'];
if ($errors->has('email')) {
$formGroupClasses[] = 'has-error';
}
@endphp
然后将它们内爆以创建一个字符串
<form class="{{ implode(' ', $formGroupClasses) }}">
我处于经典场景中,我希望根据是否发生错误来更改 css 类。如下图,其中has-error要相应改变。
<div class="form-group has-error">
该项目位于 Laravel,目前我们主要想在 Blade
完成所有工作,我们提出了以下可行的解决方案,但看起来并不漂亮或不直观全部,所以问题是,是否有更优化的方法?
<div class="form-group
@if($errors->has('email'))
has-error
@endif
">
我就是这么做的。你也可以这样做:
@if($errors->has('email'))
<div class="form-group has-error">
//You can also edit classes of other elements
</div>
@else
<div class="form-group"></div>
@endif
尝试 if else 条件简写代码:
<form class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
这看起来很整洁。
甚至 Laravel 5.2 身份验证表单也是这样完成的。
您可以使用数组来存储 class 个名字
@php
$formGroupClasses = ['form-group'];
if ($errors->has('email')) {
$formGroupClasses[] = 'has-error';
}
@endphp
然后将它们内爆以创建一个字符串
<form class="{{ implode(' ', $formGroupClasses) }}">