我可以将车把模板传递给车把模板,并使其一起呈现吗?

时间:2019-08-06 01:03:30

标签: node.js express handlebars.js

我在自己的网站上有文章的模板,然后将每个文章存储为自己的HBS文件。我用express渲染页面。将HTML注入到车把模板中很容易,但是我可以注入车把代码(无需先单独编译)吗?

这是我获取HTML和编译模板的简化版本:

    var articleHtml = fs.readFileSync('top10things.hbs', 'utf8');

    res.render('article', {
        title: 'article title',
        html: articleHtml,
    });

这是文章模板的外观:

<h1>{{title}}</h1>
{{{html}}}

这对于html来说很好用,但是如果我的文章本身是一个车把模板,它只会打印出车把的内容,而不是渲染它。

有什么方法可以使把手同时呈现,而不必首先呈现文章内容的html,然后将该html传递到再次被呈现的文章模板?

1 个答案:

答案 0 :(得分:0)

您应该在插入文章模板之前对其进行编译:

let temp = Handlebars.compile(articleHtml);
res.render('article', {
    title: 'article title',
    html: temp(context),
});

其中context是文章的json数据(如果没有则为空)