Neuling zu EJS hier,EJS bedingte IF
Versucht, Daten von MongoDB zu erhalten und in Sicht anzuzeigen. Wenn es keine Daten, Anzeige "otherCondition", wenn es Daten gibt, do-Schleife und "repeat" und "unabhängige"
<% if (typeof eventData == 'object'){ %> // check if its empty/undefined
<% eventData.forEach(function(event) { %> // loop if exists
<div class="repeat">
... // other code
</div>
<% }) %> // end of loop
<div class="unrelated">
... // other code (again)
</div>
<% } else { %> // else condition
<div class="otherCondition">
... // other code (again)
</div>
<% } %>
EJS Code oben, route Code unten angezeigt:
router.route('/').get(function(req, res, next) {
mongoose.model('Event').find({}, function(err, events) {
if (err) {
return console.error(err);
} else {
res.format({
html: function() {
res.render('events', {
eventData: events,
user: req.user,
});
if (typeof eventData == 'object')
console.log('display new events: ' + eventData);
else
console.log('no events, sorry :(');
}
});
}
});
})
Wahrscheinlich eine weitere dumme Frage, aber kann mir jemand helfen, wie ich das beheben kann? In der Konsole bekomme ich no events, sorry :(
aber meine <div class="otherCondition"></div>
wird nicht angezeigt.
Vielen Dank im Voraus.