hbs模板中引用变量重复如何处理
发布于 1年前 作者 cloudcome 564 次浏览

data:

var people = [{
 firstName: "Yehuda",
 lastName: "Katz"
}, {
 firstName: "Carl",
 lastName: "Lerche"
}, {
 firstName: "Alan",
 lastName: "Johnson"
}, ];
response.render('index.hbs', {
 firstName: 'firstName',
 people: people,
});

index.hbs

<h2>{{firstName}}</h2>
<ul>
 {{#each people}}
  <li>{{firstName}}++++{{this.firstName}} {{this.lastName}}</li>
 {{/each}}
</ul>

index.hbs中使用了data.firstName,以及循环 people中也有firstName变量,现在想在循环people中输出data.firstName,但输出的始终是people中的firstName键值。如何处理?

画外音:

本来使用hbs挺顺畅的,但在遍历对象中直接用对象的键、以及this、this.对象键都可以输出键值,这是有多乱!而且对象是数组的话,还多了个[[[[[[[[[[[@index](/user/index)](/user/index)](/user/index)](/user/index)](/user/index)](/user/index)](/user/index)](/user/index)](/user/index)](/user/index)](/user/index)变量等等,真糟糕!

之前用的是jade,但无法配合emmet神器,果断舍弃。

2 回复

handlebars这点就是让人不爽…你可以通过{{../firstName}}来访问上层变量。不过如果层级过多,那就只能呵呵了…

谢谢你的回复,查看了官方文档确实有这么个用法。 ————————————

回到顶部