用户名的 Pug 插值问题

Pug interpolation issue of username

我正在将用户的属性传递到我的哈巴狗模板引擎,并希望将 mongodb 用户模式的值打印到我的编辑表单中。我希望它们成为输入字段的 "value" 除非用户更改它。

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

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} 作为值而不是数据库中的值放在输入字段中。我之前使用过 #{} 语法并且没有遇到问题。想法?

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

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

那些是反引号,不是引号。就在键盘上 1 键的左侧(如果您以前没有尝试过,read this on MDN)。