通过领先的新线,负-
你能写常规的JavaScript在JADE/PUG。这给你一个强大的武器来解决几乎所有的问题。
只需抓住像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)
有没有办法来覆盖&属性或做一个通用的混合?我不想在每个模板上都使用这种逻辑 – ArrayKnight
当然有一种方法:-),这可以让你所有的梦想成真,这里有一个混合笔:http://codepen.io/pure180/pen/KrqYpB – Daniel
这不够通用。我想将它应用于任何元素。但是,谢谢。这让我足够了,可以把它放在剩下的路上。 – ArrayKnight