翡翠混合属性未应用
Jade mixin attributes not applied
我正在使用 jade 来模板化报告表,如下所示:
mixin report_row(row)
tr(data-id=row.c[keyIndex].v)
each cell, i in row.c
+cell_decorator(data.cols[i], cell)(data-foo="bar")
它是由修饰的报表单元格组成的报表行的嵌套混合结构。
问题是没有应用 data-foo 属性。
我已经在 SO 上看到了有关 mixin 属性的其他问题,但我找不到模板的任何语法问题,它只是在忽略属性的同时呈现。
该文档显示了将属性传递给mixins的示例:
mixin link(href, name)
//- attributes == {class: "btn"}
a(class!=attributes.class, href=href)= name
+link('/foo', 'foo')(class="btn")
请注意,mixin 本身使用隐式attributes
名称来引用传递的属性 - 换句话说,属性不会自动应用,它们只是作为参数发送到 mixin 中。您必须更改cell_decorator
mixin 的定义以考虑属性。
如果你想简单地在mixin上应用属性,你可以使用&attributes
语法:
mixin cell_decorator(colname, data)
//- the `attributes` get applied to the td
td(...)&attributes(attributes)
+cell_decorator(data.cols[i], cell)(data-foo="bar")
请注意,使用这样的&attributes
(带有 mixin 调用)是安全的,因为这些值在调用期间会被转义。
相关文章:
- 有条件地在选项标记中应用布尔属性
- 表单's的action属性-如何在javascript中指定完整的应用程序路径
- CSS根据属性的可用性有条件地应用样式
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- vendors.js:未捕获类型错误:无法读取属性'应用'使用webpack时未定义的
- 使用 SharePoint 查询字符串值作为应用程序部件属性
- 我把“;类“;SVG中存在但未应用的节点的属性!为什么?
- jquery.mobile-1.4.5.js:26未捕获类型错误:无法设置属性'移动'react应用程序
- javascript对象属性应用于所有对象
- 找不到属性'link_to'on对象(生成的应用程序控制器)
- Webpacked Angular2应用程序类型错误:无法读取属性'getOptional'的未定义
- Angular赢得't将对象更改应用于它'的属性
- '无法设置未定义'的属性;应用绑定时出错
- 角度嵌套对象-TypeError:无法读取属性'应用程序'的未定义
- 在knocket js中应用绑定后,向视图模型添加新属性
- 我如何通过 id 找到复选框并使用 JQuery 在字符串上应用属性
- 有条件地应用属性(AngularJS)
- 如何通过调整图像大小和应用属性来减少页面加载时间
- Extjs6通过函数从配置中应用属性
- 应用属性'滚动=yes'到所有iFrames