Express 是否可以使用快速把手仅渲染局部而不渲染布局?

Express 是否可以使用快速把手仅渲染局部而不渲染布局?,express,handlebars.js,express-handlebars,Express,Handlebars.js,Express Handlebars,我已使用以下目录结构正确设置了express Handlebar: views/ layouts/ partials/ user-search-partial.html(存储在视图>部分中) 在前端使用Angular对局部视图发出各种xhr请求,我需要只渲染上面的局部视图,而不使用任何布局/视图包装器。我通过在res.render视图名中添加“partials”目录名来实现这一点,但感觉像是一个黑客。我想知道,是否有另一种方法可以只加载一个partial,可能是通过向local

我已使用以下目录结构正确设置了express Handlebar:

views/
    layouts/
    partials/
user-search-partial.html(存储在视图>部分中)


在前端使用Angular对局部视图发出各种xhr请求,我需要只渲染上面的局部视图,而不使用任何布局/视图包装器。我通过在
res.render
视图名中添加“partials”目录名来实现这一点,但感觉像是一个黑客。我想知道,是否有另一种方法可以只加载一个partial,可能是通过向locals/options对象(second
res.render
参数)添加partials声明

您可以使用
if
条件。例如,在default
layout.hbs
中:

{{#if layout}}<!DOCTYPE html>
<html>
  <head>
    <title>{{title}}</title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    {{/if}}{{{body}}}{{#if layout}}
  </body>
</html>{{/if}}
{{#if布局}
{{title}}
{{/if}}{{{body}}{{{#if布局}}
{{/if}

只需创建一个指令并使用replace属性@amy blankenship抱歉,amy,这个问题涉及服务器端的快速手柄,而不是前端的角度。我遗漏了什么吗?对不起,如果你不是真的使用angularjs作为angularjs,为什么要给它加上angularjs的标签?@amy blankenship给出了当前问题的背景,作为平均堆栈的一部分,我想象Angular+Express开发人员可能遇到过这种情况。
res.render('partials/site-user-search', { layout: false });
{{#if layout}}<!DOCTYPE html>
<html>
  <head>
    <title>{{title}}</title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    {{/if}}{{{body}}}{{#if layout}}
  </body>
</html>{{/if}}