有没有一种方法可以将数据/ 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,这是Pen 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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句