用户名的 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)。
我正在将用户的属性传递到我的哈巴狗模板引擎,并希望将 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)。