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