0

一段时间以来,我一直在跨多个不同框架的应用程序中使用 partials;我对 Jade 的实现或我的错误使用感到困惑,并希望获得其他开发者的经验以及对我的理解的任何更正。

文件夹结构:

$ cd <app_root>/views
$ ls
  myHoverToolTip.jade
  layout.jade

呼叫者:

httpJadeViewerRsp = (req, res) -> res.render('myHoverToolTip.jade', { variable: 'here' })

myHoverToolTip.jade

extends layout

block myHoverToolTip
  .some-div
    h1 Awesome-O Rocks

布局.jade

<...bunch of jade markup...>
.div
  block myHoverToolTip
    h5 Content to remove

这适用于仅提供页面并正在寻找提供布局的标准方式的少数用例。然而,偏离这一点并以更模块的方式使用部分来干燥,你会发现扩展/块的这种实现让我摸不着头脑。我想将我的工具提示分成一个部分,以便在数据网格中重用(当然将许多变量传递给部分,所以忘记包含),这个实现禁止我拥有这种能力。任何人都可以为我提供进一步的见解,更正我的用法,或者将我引导到一个更好的 NodeJs-ready 模板库,它可以与 Express 3 一起使用

4

2 回答 2

1

听起来mixins可能会帮助你。

于 2012-10-10T18:13:59.813 回答
0

自 2012 年 8 月和 Express 3 起,“partials”支持已被删除,但该功能仍可通过不带引号或括号的表达式“include [yourtemplatename]”获得。

我发现 Jade 的另一个有用的替代方法是 EJS 模板,它更像 ASP.NET / JSTL。

编辑:在这两种情况下,可用的父上下文和变量都可以通过包含访问。

于 2012-10-10T17:45:04.377 回答