如果使用 blade 模板从控制器传递的值为真,如何在标签内显示文本?

How to display a text inside a tag if a value passed from controller is true using blade template?

如果从控制器传输的值是假的,我想禁用输入。我阅读了 Laravel 的 blade template documentation,但找不到任何有用的资源。

我尝试了以下代码,但它产生了一个错误。

<input type="text" name="url" style="height:36px;"   value="http://theurl.in/{{$link_data->hash}}" @if $isEditable {{ 'enabled' }} @endif /> <br/>

确切的代码部分是,

@if $isEditable {{ 'enabled' }} @endif

如果您能提供任何建议,那将非常有帮助。

谢谢!

不确定 'enabled' 字符串的用途是什么,但您不需要它。 HTML 输入默认启用。你需要的是一个简单的三元打印 disabled="disabled".

{{ !$isEnabled ? 'disabled="disabled"' : '' }}

您的代码有语法错误。如果你查看 blade 模板文档 if conditions need to be in parenthesis,那么解决方案应该是这样的:

@if ($isEditable) {{ 'enabled' }} @endif

我也同意 Ohgodwhy 的回答,HTML 输入是默认启用的,所以你应该输入:

@if (!$isEditable) {{ 'disabled=disabled' }} @endif