Node.js+Express+Handlebars如何在同一页面同时显示当前用户与全部用户列表?
解决方案
你当前的问题在于将所有用户集合与当前登录用户都通过user这个相同键名传递给模板,导致数据冲突,无法同时获取两类数据。只需为这两类数据分配不同的键名,就能在Handlebars模板中分别调用。
修改后端路由代码
将查询到的所有用户和当前登录用户用不同键名传入模板:
router.get('/', LogingCheck, roleAuth, (req, res, next) => { User.find((err, users) => { if (err) { console.log(err); } else { res.render('admin/index', { title: 'Role Manager', users: users, // 所有用户列表 currentUser: req.user // 当前登录用户 }); } }); });
修改Handlebars模板调用
- 显示当前登录用户名:
{{currentUser.username}}
- 遍历显示所有用户名列表:
{{#each users}} {{this.username}} {{/each}}
内容的提问来源于stack exchange,提问作者BallisticDog
相关产品推荐
相关产品推荐

