2017-12-22 17 views
0

In meiner NodeJS-express-App benutze ich Lenker-Engine für Templating. Routing mit dynamischen Daten ist möglich. Ich habe eine einzige Layoutdatei für meine Anwendung. Wie kann ich Daten dynamisch an die Vorlage übergeben?Wie kann ich dynamische Inhalte an die Layout-Datei (Teiltöne) im Express-Lenker weitergeben?

Bearbeitungen:

Hier ist meine Vorlagendatei.

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    </head> 
 
    <body> 
 
    <nav> 
 
     <div> 
 
     <ul class="navbar-nav"> 
 
      <li class="nav-item active"> 
 
      <a>Home</a> 
 
      </li> 
 
      <li class="nav-item"> 
 
      <a>about</a> 
 
      </li> 
 
      <li class="nav-item"> 
 
      <a>contact</a> 
 
      </li> 
 
     </ul> 
 
     </div> 
 
    </nav> 
 
    {{{body}}} 
 
    </body> 
 
</html>

Ich brauche die nav Artikel (zu Hause, über, Kontakt) sind alle von API-Aufruf. nicht fest codiert.

+2

Können Sie Code bereitstellen und auf Ihr Problem im Code hinweisen? – chirag

+0

Ich habe meine Frage aktualisiert. Bitte werfen Sie einen Blick darauf. Danke, dass Sie Zeit dafür gefunden haben – Bharath

Antwort

0

Ich glaube, Sie dies in Ihrem Lenker tun müssen:

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
    <nav> 
     {{{navStuff}}} 
    </nav> 
    {{{body}}} 
    </body> 
</html> 

Und in Ihrem Express Route, können Sie dies tun: (i. Sein einfaches Routing übernehmen Sie können anpassen ReactRouter V4)

app.get('/home', function(req, res, next){ 
return res.render('app',{ 
    body: toRender, 
    navStuff: menu 
    }) 
}); 

Und falls Sie einen databse Anruf müssen Menüpunkte auf Seite basierend holen, dann können Sie dieses annehmen:

app.get('/home', function(req, res, next){ 
getMenuFromDb(pathName).then(function(menu){ 
    return res.render('app',{ 
     body: toRender, 
     navStuff: menu 
     }) 
    }); 
}) 

})

Verwandte Themen