Handlebars学习(4)- Handlebars路径
1. 简单路径
Handlebars支持简单路径,就像Mustache:
<p>{{name}}</p>
2. 嵌套路径
Handlebars也支持嵌套的路径,使得可以查询嵌套的属性在当前的上下文中。
<div class="entry">
<h1>{{title}}</h1>
<h2>By {{author.name}}</h2>
<div class="body">
{{body}}
</div>
</div>
模板在下面的上下文中执行:
var context = {
title: "My First Blog Post!",
author: {
id: 47,
name: "Yehuda Katz"
},
body: "My first post. Wheeeee!"
};
这使得可以使用Handlebars模板处理更多原生的JSON对象。
嵌套的Handlebars路径也可以包含"../",以使得可以使用父级上下文。
<h1>Comments</h1>
<div id="comments">
{{#each comments}}
<h2><a href="/posts/{{../permalink}}#{{id}}">{{title}}</a></h2>
<div>{{body}}</div>
{{/each}}
</div>
即使在一个comment上下文中输出链接,但是仍然可以回到主上下文(the post)中去检索其固定链接。
"../"路径引用父级模板环境。因为块helpers可以调用任何上下文的block,所以,"上一级"的概念并不是特别的有意义,除了作为对父级模板环境的引用。
Handlebars也允许helpers之间的名称冲突,此时数据域通过一个this引用:
<p>{{./name}} or {{this/name}} or {{this.name}}</p>
上面的三种方法都可以在当前的上下文上引用name,而不是同名的helper。

浙公网安备 33010602011771号