从模板中获取顶级标签?

时间:2014-03-06 13:37:31

标签: haskell-snap-framework heist

我正在尝试学习如何使用Snap和Heist,并希望将链接放到JavaScript库中。我在_js-libs.tpl

中创建了此模板
<bind tag="jquery">
  <script type="text/javascript" src="/js/jquery-2.1.0.js"></script> 
</bind>
<bind tag="d3js">
  <script type="text/javascript" src="/js/d3.js"></script>
</bind>

然后在base.tpl模板中尝试了这个:

<html>
  <head>
    <title>Snap web server</title>
    <link rel="stylesheet" type="text/css" href="/screen.css"/>
     <apply template="_js-libs"/>
    <jquery/>
    <d3js/>
  </head>
  ... snip ...

但这只会在页面中产生<jquery></jquery><d3js></d3js>。我认为绑定标签在已应用包含绑定的模板的模板中不可见。如何在模板中创建这样的顶级标签?我只能找到在Haskell代码中创建顶级标签的示例。

1 个答案:

答案 0 :(得分:2)

绑定标记仅适用于模板。唯一的例外是,如果在apply标记的主体内部使用绑定标记作为将命名的“参数”传递给应用模板的机制。