如果使用刀片模板从控制器传递的值为true,如何在标记内显示文本?

时间:2017-03-31 17:34:39

标签: laravel laravel-5 laravel-5.4

如果从控制器传输的值为false,我想禁用输入。我为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

enter image description here

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

谢谢!

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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

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

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

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