Express.js - So ändern Sie app.locals-Variablen in Routen

8

Ich habe ein node.js-Projekt. Der folgende Code ist Teil meiner app.js-Datei. Ich mache eine Abfrage von der Datenbank und speichere die Ergebnisse in einer globalen Variablen namens 'Cats'. Ich verwende diese Variable, um die Kategorien in einer Seitenleiste der Site anzuzeigen. Ich denke nicht, dass es relevant ist, aber ich benutze Jade als Templating-Engine.

%Vor%

In einer der Routen erlaube ich dem Benutzer, der Datenbank zusätzliche Kategorien hinzuzufügen. Was ich brauche, ist, dass die Variable 'apps.locals.cats' mit den neuen Kategorien aktualisiert wird. Gibt es das für mich, um das in meinen Routen zu ändern? Ich habe Folgendes versucht, aber es hat nicht funktioniert.

%Vor%     
Sohrab Hejazi 26.07.2015, 07:21
quelle

1 Antwort

17

In Express 4 Sie können auf app von req mit req.app zugreifen. Siehe Objekt anfordern API doc.

  

Lokal sind in der Middleware über req.app.locals verfügbar (siehe req.app)

In deiner Middleware könntest du es so machen:

%Vor%     
Carlos 11.11.2015, 16:55
quelle

Tags und Links