通過領先的新線,負-
你能寫常規的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