【问题标题】:Is it possible to use express handlebars to only render a partial without a layout?是否可以使用快速车把只渲染没有布局的部分?
【发布时间】:2017-04-03 21:21:35
【问题描述】:

我已经正确设置了具有以下目录结构的快速车把:

views/
    layouts/
    partials/

user-search-partial.html(存储在视图 > 部分)

<div id="user-search">

    <h1>Search Users</h1>

</div>

渲染块

res.render('partials/site-user-search', { layout: false });

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

【问题讨论】:

  • 只需创建一个指令并使用替换属性which is, unfortunately, deprecated
  • @amy-blankenship 对不起,艾米,这个问题涉及服务器端的快速车把,而不是前端的 Angular。我错过了什么吗?
  • 对不起,如果你没有真正使用 angularjs 作为 angularjs,为什么还要标记它 angularjs?
  • @amy-blankenship 为了给手头的问题提供上下文,作为 MEAN 堆栈的一部分,我想 Angular + Express 开发人员可能会遇到这种情况。

标签: express handlebars.js express-handlebars


【解决方案1】:

您可以使用if 条件。例如默认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}}

【讨论】:

    猜你喜欢
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多