2016-03-23 5 views
2

Ich habe Route:Wie übergibt man dynamische vars an alle nodejs Ansichten?

app.all("*", function(req, res){ 

    //i have here some code for example 
    var number = 5; 
    //real code is doing some selected on rethinkdb 

}) 

wie auf einer beliebigen Ansicht dann Nummer 5 zugreifen?

dies nicht funktioniert:

res.locales.number = 5 
req.session.number = 5 

Was kann ich noch versuchen?

Antwort

2

Sie haben es fast richtig, aber Sie haben die locals Variable falsch geschrieben, weshalb es nicht funktioniert.

Hier ist ein Beispiel-Middleware, die eine gewisse Variable gesetzt werden, die für alle Vorlagen mit ausdrücklicher gemacht verfügbar sein wird:

app.use(function(req, res, next) { 
    res.locals.blah = 'something'; 
    next(); 
})); 

// Now, from this point on, any template can access the `blah` variable 
// directly =) 
+0

Nur auf diese Antwort geben, Middleware wie diese muss, bevor alle Routen erklärt werden, dass würde jemals brauchen Zugang zu 'blah' – peteb

+0

10 danke mein Freund. – pregmatch

+0

Ich werde Ihre Antwort in 9 Minuten akzeptieren :) – pregmatch

Verwandte Themen