Ich versuche atomare Designmuster in Jade/Pug zu verwenden, um eine einfache Liste mit einem Link darin zu erstellen. Meine Liste mixin ist wie folgt und akzeptiert ein Array von Elementen:Jade/Pug: Wie benutzt man ein Mixin in einem Parameter-Array eines anderen Mixins
include ../../atoms/listitem/listitem
mixin list(spec)
- spec = spec || {}
- spec.__class = spec.__class || ''
- spec.type = spec.type || 'ul'
- spec.items = spec.items || {}
if spec.items.length
#{spec.type}
for item in spec.items
+listitem({content: item})
Liste item:
mixin listitem(spec)
- spec = spec || {}
- spec.__class = spec.__class || ''
- spec.content = spec.content || ''
li(class=spec.__class)&attributes(attributes)
!= spec.content
-Link:
mixin link(spec)
- spec = spec || {}
- spec.__class = spec.__class || ''
- spec.text = spec.text || 'Default Link'
a.link(class=spec.__class)&attributes(attributes)
if block
block
else
!= spec.text
Und in meiner Vorlage Ich habe folgende:
include _modules/atoms/link/link
include _modules/molecules/list/list
block content
+list({items: [
'list item 1',
'list item 2',
+link({text: "Hi link"})(href="#"),
'list item 4'
]})
Ich bekomme ein äh ror:
Aber wenn ich den Link außerhalb dieser Artikel-Array verwenden, funktioniert es gut. Was mache ich falsch?
Bemerkung am Rande: Jade ist nicht mehr Jade genannt, [es Mops sein wird jetzt] (https://github.com/pugjs/pug/issues/2184). –
Hinzugefügt Mops. Konnte es nicht als Pug markieren ist noch kein Tag und ich bin nicht hoch genug um einen hinzuzufügen! – Bat