1

我有一个使用 Express for node.js 构建的 Web 应用程序。我正在为 HTML 显示使用 Jade 模板文件。在其中一个显示中,我希望在各个字段中预先填充数据。数据存储在 mongodb 会话存储中,以及 db 中的单独集合中。我更喜欢使用会话数据在 HTML/Jade 显示中预填充这些字段。我该怎么做(如果可能的话)?

4

2 回答 2

3

添加默认值res.locals,然后在jade中设置inputelements属性。value

//node.js
app.get('/', function(req, res){
  // Sorry I am unfamiliar with Mongo, not sure the syntax...
  mongo.get('defaults', function(err, body){
    res.locals.dName = body.defaultName;
    res.locals.dFoo = body.defaultFoo;
    res.render('myTemplate');
  });
});

//myTemplate.jade
!!!
html
  body
    form(action='/form', method='post')
      input#formName(name='name', value=locals.dName)
      input#formFoo(name='foo', value=locals.dFoo)
于 2013-10-15T17:27:57.597 回答
1

我通过使用 Express API 中的 res.render() 来解决这个问题。不过,我会将答案归功于柏拉图,因为他的答案似乎也是正确的,而且他是回答我问题的好人。

exports.viewProfile = function(req, res) {
    res.render('viewProfile', {username: req.session.user, firstname: req.session.firstname});
}
于 2013-10-15T18:00:58.767 回答