2016-06-14 8 views
0

Ich habe eine Jade-Vorlage ("Hauptseite") und eine wiederverwendbare Vorlage ("Produktvorlage"). 'Produktvorlage' muss dynamische Daten anzeigen, wird in vielen anderen Seiten verwendet, so dass es vereinheitlicht werden muss und nicht auf Variablennamen angewiesen ist.Jade: Wie kann ich eine Zufallsvariable in die enthaltene Vorlage übergeben?

// main page 
... (some code) ... 

- var outerObj = [ 
    { title: '...', price: '...', description: '' }, 
    { title: '...', price: '...', description: '' }, 
    { title: '...', price: '...', description: '' } 
]; 

// product temptate 

.product 
    .product__title=outerObj.title 
    .product__price=outerObj.price 
    .product__description=outerObj.description 

Wie kann 'Produktvorlage' einschließen und Parameter in der Schleife übergeben? (Etwa so)

// example of regular usage of 'product template': 
- for (var i = 0; i < outerObj.length; i++) 
    // pass only outerObj[i] 
    include ./path/to/product-template.jade' 

Antwort

0

Anstatt eine include in einer Schleife zu tun, möchten Sie wahrscheinlich eine mixin verwenden, die wie eine Funktion ist.

Etwas wie folgt aus:

mixin makeProduct(product) 
    .product 
    .product__title=product.title 
    .product__price=product.price 
    .product__description=product.description 

each product in outerObj 
    +makeProduct(product) 
+1

es löst mein Problem. Danke! –