首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的apply标签在Heist 0.11.0.1中不再起作用?

为什么我的apply标签在Heist 0.11.0.1中不再起作用?
EN

Stack Overflow用户
提问于 2013-05-30 02:15:07
回答 1查看 117关注 0票数 5

我最近升级了我正在使用的Heist版本。这在很大程度上是一个武断的决定,我仍然看到了该操作的后果,主要是在更令人满意的代码结构方面。

但是,我在很大程度上依赖于我的模板中的"apply“标签来引入样板组件,比如我的站点标题和菜单。对我来说,一个典型的模板如下所示:

代码语言:javascript
复制
<html>
<head>
    <title> <PageTitle /> </title>
    <link rel="stylesheet" type="text/css" href="/styles/style.css" />
    <link rel="alternate" type="application/rss+xml" title="${PageTitle} Feed" href="http://www.savannidgerinel.com/rss" />
</head>
<body class="center">

<apply template="header" />

<div id="content">
<h1><PageTitle /></h1>
<ul>
<PageMetadata />
</ul>

<PageContent />
</div>

</body>
</html>

现在,我像这样加载模板:

代码语言:javascript
复制
setup_heist template_dir = do
    templates <- Heist.loadTemplates template_dir
    hs <- Heist.initHeist (Heist.HeistConfig [] [] [] [] templates)
    return hs

这与我过去加载模板的方式(仍然使用loadTemplates函数)没有太大不同,但这是一种我不习惯的设置Heist状态的不同方式。

但是,现在所有的apply标记都没有任何作用。我的“包含”模板从来没有加载过,在生成的HTML中我看到了:

代码语言:javascript
复制
<apply template='header'></apply>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-30 22:39:46

应用标签是一个拼接,就像其他任何标签一样。除了包含在Heist中之外,它没有任何特殊的状态。因此,您必须在HeistConfig中绑定该拼接。如果你使用的是解释模板,那么你可以这样做:

代码语言:javascript
复制
HeistConfig defaultInterpretedSplices [] [] [] templates

如果您使用的是已编译的模板,请使用以下代码:

代码语言:javascript
复制
HeistConfig [] defaultLoadTimeSplices [] [] templates
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16821082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档