正确使用在刀片中呈现可选参数的方法

时间:2018-03-19 15:42:57

标签: laravel-5 blade laravel-5.5

我注意到Blade的下面结构不正确

<div class="constant @if($some_condition)optional@endif">

因为这是在PHP中转换为无效

<div class="constant <?php if($some_condition): ?>optional<?php endif; ?>">

为了使这个语句有效,我需要在不同的行上放置close标签,但它看起来非常糟糕,特别是如果还有很多其他属性。

<div class="constant @if($some_condition)optional
@endif" data-id="1" tabindex="2" data-etc="...">

在Blade中呈现这种条件的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

尝试if语句的简短版本。

$some_condition ? 'optional' : ''

使用上面的代码,如果条件为真,它将返回字符串'optional',如果条件不为真,它将返回一个空字符串,我的意思是''。注意,作为属性的空字符串在Html元素内不执行任何操作。

在你的情况下它应该是这样的:

<div class="constant {{ $some_condition ? 'optional' : '' }}">