Ich möchte ein Navigationsobjekt senden, die in einer Express-Anwendung wiedergegeben werden kann, die auf die Benutzergruppe spezifisch ist. Ich obwohl eine Möglichkeit, es zu tun diese Middleware zu jeder Route hinzuzufügen war:Senden von Daten für Benutzergruppe Knoten Express
var nav = function() {
return function(req,res,next) {
res.nav = [];
var assignednav = [{
link: '../console/my-ads',
text: 'My Ads'
},
{
link: '../console/snippet',
text: 'Snippet'
},
{
link: '../console/answer',
text: 'Answer Calls'
}];
if (req.user && req.user.companyid != null){
res.nav = assignednav;
} else {
res.nav = [];
}
next();
}
};
Und dann hängen Sie es an den Strecken Ich bin interessiert an das Objekt.
router.get('/analytics', assignedUser(), function(req, res) {
res.render('console/analytics', nav());
});
Derzeit erhalte ich einen Fehler: Cannot set property 'nav' of undefined
. Was mache ich falsch. Ist das ein guter Ansatz?