我在使用 connect-flash 时遇到了一些奇怪的问题,我已经以完全相同的方式在其他项目中使用了它,并且效果很好,这就是我所拥有的:
一些路线
if (err) {
req.flash('message', [{
class: 'alert-danger',
message: 'TEST'
}]);
res.redirect('/error');
}
错误路线
router.get('/error', function (req, res, next) {
console.log('---in error route')
console.log(req.flash('message'));
res.render('error', {
message: req.flash('message'),
layout: layout
});
})
控制台日志
---in error route
[ { class: 'alert-danger', message: 'TEST' } ]
错误.hbs
{{#if message}}
{{#each message}}
<div class="{{this.class}}">{{this.message}}</div>
{{/each}}
{{/if}}
显然它在那里,但没有打印输出,如果我将确切的 smae 内容从第一条路径复制到错误,它会显示(这对我不起作用,但只是用于测试以确保 hbs 模板逻辑有效):
router.get('/error', function (req, res, next) {
req.flash('message', [{
class: 'alert-danger',
message: 'TEST'
}]);
res.render('error', {
message: req.flash('message'),
layout: layout
});
})
这可能很简单,但我不知道它是什么。