【发布时间】:2014-02-20 17:41:46
【问题描述】:
我有一个名为layouts/master.dust的布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>{+title /}</title>
<link rel="stylesheet" href="css/app.css" />
</head>
<body>
<div id="wrapper">
<h3>This is the master header</h3>
{+body /}
</div>
</body>
</html>
然后我有一个名为index.dust的模板:
{>"layouts/master" /}
{<body}
<h1>{@pre type="content" key="greeting"/}</h1>
{/body}
可以预见的是,输出
这是主标题
你好,亚历克斯!
(当提供相关的 json 时)
我的问题是,我正在创建另一个“嵌套”或“子”模板:layouts/admin.dust,看起来像:
{>"layouts/master" /}
<h4>This is an admin header</h4>
{+body /}
还有一个使用 layouts/admin/dust 的模板 adminIndex.dust,如下所示:
{>"layouts/admin" /}
{<body}
<p>This is some stuff for admin</p>
{/body}
我的问题,输出是:
这是主标题
这是管理员的一些东西这是一个管理员标题
这是给管理员的一些东西
所以,我的 {+body} 块被调用了两次,并且没有被我的嵌套模板覆盖
有没有办法做到这一点?
编辑
根据我的评论,admin.dust 的更“现实”示例是:
{>"layouts/master" /}
<h4>This is an admin header</h4>
<div style="float: left; width: 200px;">
<strong>left nav</strong>
<ul>
<li>Link one</li>
<li>Link two</li>
</ul>
</div>
<div style="float: right">
{+ body /}
</div>
在使用 admin 布局的模板中,它们的 body 位于右浮动的 div 中(例如)
【问题讨论】:
标签: dust.js