84 Stimmen

Jade - Template Engine: Wie prüfe ich, ob eine Variable existiert?

Ich verwende Jade derzeit für ein neues Projekt. Ich möchte eine Seite rendern und prüfen, ob eine bestimmte Variable verfügbar ist.

app.js :

app.get('/register', function(req, res){
    res.render('register', {
        locals: {
          title: 'Register',
          text: 'Register as a user.',
        }
      });
});

register.jade :

- if (username)
p= username
- else
p No Username!

Ich erhalte immer den folgenden Fehler:

username is not defined

Haben Sie eine Idee, wie ich das Problem beheben kann?

0voto

TK-421 Punkte 10078

Sollte 'username' nicht in das locals-Objekt aufgenommen werden?

https://github.com/visionmedia/jade/tree/master/examples

0voto

Augustin Riedinger Punkte 18556

Eine Middleware erstellt, die die Methode isDefined meiner Meinung nach überall verfügbar:

module.exports = (req, res, next) => {
  res.locals.isDefined = (variable) => {
    return typeof(variable) !== 'undefined'
  };  
  next();
};

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X