表达把手呈现为字符串而不是响应

时间:2018-05-16 02:23:20

标签: node.js express handlebars.js express-handlebars

我目前成功使用快速把手 - 但是我想用它来更新和渲染一个页面 - 一段随时间变化的项目列表,所以我想更新只是那个列表在计时器上。基本上在浏览器上我有以下代码:

Vue.component('page-head', {
  template: '#page-head',
  data() {
    return {
      thisisarray:['a','b']
    };
  },
  created() {

      var a=this.thisisarray;
      this.thisisarray=[10];
      console.log('a expected '+this.thisisarray+',but '+ a);
  }
})

所以在服务器上每个页面我都做过这样的事情:

$.get( "myUrl").then( result => $("#targetdiv").html( result.html ));
然而,显然这两个人并没有一起工作 - 我需要这样做:

app.get("/myUrl", async (req, res) => {res.render( "someTemplateFile");} )

有没有一种简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:3)

使用render API,如下所示:

var hb = require('express-handlebars').create();
app.get("/myUrl", async (req, response) => 
{
   hb.render("some.hbs",{title:"Title",body:"Body"}).then((renderedHtml) => {
       response.send( {html:renderedHtml} );
   });
});