在Jade/Pug中应用嵌套的属性对象
Applying nested object of attributes in Jade/Pug
是否有方法将数据/aria属性的对象传递给元素?
我试过:
div(data={foo:'bar'})
div(data={foo='bar'})
div&attributes({aria:{foo:'bar'}})
但是这些都没有输出所需的属性表示法。第一个和第三个将对象文字放在基本数据/aria属性中。第二个是语法错误。
我能找到那份工作的唯一方法是:
div(data-foo='bar')
div&attributes({'aria-foo':'bar'})
通过在新行前面加上- -
,您可以在JADE/PUG中编写常规JavaScript。这给了你一个强大的武器来解决几乎所有的问题。
只需获取一个常规对象,如var attributes = {'foo':'bar', 'bar':'foo'}
,并在每个循环中使用所需的前缀扩展它的键。
这是一个工作笔http://codepen.io/pure180/pen/kXwqdA和这可以是你的代码:
- var attributes = {'foo':'bar', 'bar':'baz'}
- var ariaAttributes = {}
- for (attr in attributes) {
- var key = 'aria-' + attr
- ariaAttributes[key] = attributes[attr]
- }
div&attributes(ariaAttributes) Test
你也可以使用它作为一个全局的mixin,这是钢笔http://codepen.io/pure180/pen/KrqYpB,它可以看起来像这样:
mixin setAriaAttr(object)
- var attributes = object
- var ariaAttributes = {}
- for (attr in attributes) {
- var key = 'aria-' + attr
- ariaAttributes[key] = attributes[attr]
- }
div&attributes(ariaAttributes) Test
- var aria = {'foo':'bar', 'bar':'baz'}
+setAriaAttr(aria)
相关文章:
- 访问键中包含空格的嵌套属性
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 正在检查对象javascript中是否存在嵌套属性
- 更新JavaScript对象中的嵌套属性
- 使用 jQuery 传递的 Rails 嵌套属性
- 如何迭代json对象的嵌套属性并创建新的数组列表
- 如何正确传递具有排列属性的嵌套属性?(JSX)
- 如何动态获取对象的嵌套属性
- AngularJS - 包含嵌套属性指令的内容
- 嵌套属性作为函数参数
- 猫鼬:嵌套属性上为空
- 如何检查主干模型中的嵌套属性是否已更改
- 在 ngRepeat 中筛选嵌套属性
- 筛选器深层嵌套属性返回空数组
- 支持流星和铁路由器中具有嵌套属性的多个参数
- 主干虹吸嵌套属性
- 访问 JavaScript 中的嵌套属性
- 在 AJAX 响应中查找嵌套属性,这是 try/catch 的情况
- 从嵌套属性数组中获取对象嵌套值
- JQuery,从嵌套属性中访问对象的根属性