Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 想知道使用基于Express渲染变量的Handlebar Partials的最佳方法吗_Node.js_Express_Render_Handlebars.js - Fatal编程技术网

Node.js 想知道使用基于Express渲染变量的Handlebar Partials的最佳方法吗

Node.js 想知道使用基于Express渲染变量的Handlebar Partials的最佳方法吗,node.js,express,render,handlebars.js,Node.js,Express,Render,Handlebars.js,所以我想知道当我有一个渲染变量集时,在Express中加载把手部分的最佳方法是什么 app.get('/raves-reviews/corporate-clients', function (req, res) { res.render('raves-reviews.html', { //This of this a micro layout layout: 'main', //this is the main layout titl

所以我想知道当我有一个渲染变量集时,在Express中加载把手部分的最佳方法是什么

app.get('/raves-reviews/corporate-clients', function (req, res) {
    res.render('raves-reviews.html', {  //This of this a micro layout
        layout: 'main',           //this is the main layout
        title: 'Raves & Reviews',
        corporate: true,          //this is part of idea 1
        page: 'corporate-clients' //this is part of idea 2 and 3
    });
});
因此,当用户访问mysite.com/raves-reviews/corporate-clients时,Handlebar将首先加载主布局,我使用导航设置了主布局,以显示主页滑块或raves review滑块(如果不是主页)

然后它将加载raves-reviews.html页面,这只是一个手柄文件,我已将扩展名重命名为.html,这将是一个微模板,将容纳4个其他页面

我不想做的是使用相同的raves-reviews.html微模板制作4个页面,并且必须将其他每个页面作为部分包含。我宁愿做一个页面,将能够处理它需要的每一个部分,就像主布局与网站中的每一个其他页面一样

想法1是在raves-reviews.html中创建4个{{{if}}块

{{#if page1}}
    {{> page1}}
{{/if}}
{{#if page2}}
    {{> page2}}
{{/if}}
{{#if page3}}
    {{> page3}}
{{/if}}
{{#if page4}}
    {{> page41}}
{{/if}}
所以想法2是使用我在这里找到的一个助手:创建页面,但是我确实在那里读到,把手应该是没有逻辑的。所以我不确定这是否是一个好的方法,将逻辑调用到一个模板系统中,该模板系统设计为不使用逻辑

想法3是看看是否有一种方法可以使用app.get中的page变量来创建一个partial,但我不是100%确定如何实现它。我最初的想法是:

{{> {{page}} }}

如果有任何其他方式,我完全接受任何其他想法。谢谢大家。

你可能应该选择选项1,因为你已经做了

是的,也许我只是想得太多了