根据 Laravel 5.3 中的条件在刀片模板中插入 html 属性的好方法

Posted

技术标签:

【中文标题】根据 Laravel 5.3 中的条件在刀片模板中插入 html 属性的好方法【英文标题】:Good way to insert html atributes in blade template based on conditions in Laravel 5.3 【发布时间】:2017-12-10 17:18:55 【问题描述】:

我知道还有其他问题可以解决这个问题,但它们主要涉及基于变量向属性添加值。我想根据条件包含几个属性及其值。

我的第一次尝试,正如你在下面看到的,除了不工作之外不是很可读:

<input
type="text" 
 $errors->has('bedrooms') ? "data-toggle='tooltip' data-placement='right' 
title='please, enter a value between 1 and 9.'" : "" 

/>

生成html

<input type="text"
data-toggle=&quot;tooltip&quot; data-placement=&quot;right&quot; 
title=&quot;please, enter a value between 1 and 9.&quot />

【问题讨论】:

【参考方案1】:

将刀片语法更改为 !! !!

<input type="text" 
  !! $errors->has('bedrooms') ? "data-toggle='tooltip' data-placement='right' title='please, enter a value between 1 and 9.'" : "" !!
/>

默认情况下,Blade 转义 Html - See the documentation

【讨论】:

以上是关于根据 Laravel 5.3 中的条件在刀片模板中插入 html 属性的好方法的主要内容,如果未能解决你的问题,请参考以下文章

无法将数据从刀片传递到 vue(Laravel 5.3)

刀片模板中的多对多关系中的 Laravel 嵌套查询

在刀片 Laravel 5.3 中显示聚合

根据当前翻译的 Laravel 路线在刀片中添加“活动”类

vuejs 组件未在我的 laravel 5.3 刀片页面中呈现

@include 之后刀片未在刀片中显示内容 - Laravel 4.2