首页 > 解决方案 > 用户名的 Pug 插值问题

问题描述

我将用户的属性传递给我的 pug 模板引擎,并希望将 mongodb 用户模式的值打印到我的编辑表单中。我希望它们成为输入字段的“值”,除非用户更改它。

在我的路线中,这是生成编辑配置文件路线的代码。

User.findById(req.params.id, function(err, foundUser) {
      if (err) throw err
      console.log("Found user is " + foundUser);
      res.render('editProfile', {currentUser: foundUser});
});

在 pug 模板引擎表单中,我有一个这样的字段:

label(for="firstname") First name
input.form-control#firstname(type="text", name='firstname', value="#{currentUser.firstname}")

但它实际上是将#{currentUser.firstname} 作为值而不是数据库中的值放在输入字段中。我以前使用过 #{} 语法并且没有遇到问题。想法?

标签: javascriptnode.jspugtemplate-engine

解决方案


您可以为此使用 ES6 模板文字。

input.form-control#firstname(type="text", name='firstname', value=`${currentUser.firstname}`); 

这些是反引号,而不是引号。就在键盘上 1 键的左侧(如果您以前没有尝试过,请在 MDN 上阅读此内容)。


推荐阅读