我注意到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中呈现这种条件的正确方法是什么?
答案 0 :(得分:1)
尝试if
语句的简短版本。
$some_condition ? 'optional' : ''
使用上面的代码,如果条件为真,它将返回字符串'optional'
,如果条件不为真,它将返回一个空字符串,我的意思是''
。注意,作为属性的空字符串在Html
元素内不执行任何操作。
在你的情况下它应该是这样的:
<div class="constant {{ $some_condition ? 'optional' : '' }}">