0

我在 CompoundJS 中使用“Jade”视图引擎,但是当我在控制器中调用 render() 方法时它没有使用正确的 Jade 工作流程(例如,它总是渲染相同的布局,产生内部模板作为 body 参数的布局)。

我需要知道如何:

  • 从控制器更改布局(它始终使用 application_layout.jade)并能够在没有布局的情况下进行渲染
  • 正常渲染视图,以便我在视图模板本身中指定布局(例如,通过明确指定要扩展的模板,使用 Jade 指令,如“扩展布局”)
4

2 回答 2

0

application_layout你可以用你自己的覆盖。它是基于约定的。

例如,如果你想login用不同的布局覆盖视图,你可以添加一个新的模板app/views/layouts/login_layout.ejs

内部模板指定为<%- body %>.

<!-- Different markup before -->
<%- body -->
<!-- Different markup after -->
于 2013-08-09T21:19:48.500 回答
0

您可以在控制器操作中调用渲染之前指定要使用的不同布局

this.layout = "myLayout"; // uses app/assets/views/layouts/myLayout_layout.[ejs/jade/etc.]
this.layout = false; // uses no layout
render();

我认为不可能在视图模板中指定布局

于 2013-09-04T16:59:28.380 回答