是否可以使用res.render多次渲染局部变量

时间:2017-08-04 08:06:52

标签: javascript node.js express handlebars.js

我有一个关于res.render的问题。我正在尝试为我的网站构建一个非常简单的消息传递功能,而不是像个人消息,Dms等实时聊天。我正在使用把手来渲染html和node.js.

app.get('/dashboard/messages/',ensureAuthenticated,function(req,res) {
  res.render('messages');
  Msg.find({ username: req.user.username }, 'username message sender', function (err, msg) {
    if (err) {
      console.log('notfound')
      return handleError(err);

    } else{
      var msgSender = []

      msg.forEach(function(msg){
        var Obj = {
           'sender': msg.sender,
           'message':msg.message
      }
      msgSender.push(Obj)
   })
   console.log(msgSender.sender)

  res.render('messages',{'sender': msgSender.sender, 'message': msgSender.message})

主要问题是如果我放置一个for循环,渲染只会加载发送给用户的最后一条消息。而且你也不能设置标题。我在考虑做一个     res.send{'sender': msgSender.sender, 'message': msgSender.message})。这是handblebar代码:

 <div class="panel panel-default">
  <div class="panel-heading">
    <h3 class="panel-title">Messages</h3>
  </div>
  <div class="panel-body">
     <h1>From: {{sender}}</h1>

    <h3><p>Message: {{message}}</p></h3>
  </div>
</div>

0 个答案:

没有答案