Mar*_*rch 4 javascript template-engine handlebars.js
给定一组对象,我想使用嵌套对象的一个属性来查找 Handlebars 中关联对象中的各种属性。
在这个例子中,我想显示每所大学的学生列表,以及每个学生所属部门的信息。
我的代码有效,但嵌套查找非常重复:
{{lookup (lookup ../majors major) 'dean'}}
{{lookup (lookup ../majors major) 'location'}}
Run Code Online (Sandbox Code Playgroud)
我能做些什么吗?我想访问查找的上下文,如下所示:
{{#lookup ../majors major}}
{{dean}}
{{location}}
{{/lookup}}
Run Code Online (Sandbox Code Playgroud)
{{lookup (lookup ../majors major) 'dean'}}
{{lookup (lookup ../majors major) 'location'}}
Run Code Online (Sandbox Code Playgroud)
{{#lookup ../majors major}}
{{dean}}
{{location}}
{{/lookup}}
Run Code Online (Sandbox Code Playgroud)
这是我的解决方案:使用{{#with}}helper并将查找子表达式的结果传递给它 - 一个对象。我不确定这是否是最好的方法,或者真的为什么这样做有效,所以希望得到评论。
{{#with (lookup ../majors major)}}
<dt>Department dean</dt>
<dd>{{dean}}</dd>
<dt>Department location</dt>
<dd>{{location}}</dd>
{{/with}}
Run Code Online (Sandbox Code Playgroud)
完整示例:
{{#with (lookup ../majors major)}}
<dt>Department dean</dt>
<dd>{{dean}}</dd>
<dt>Department location</dt>
<dd>{{location}}</dd>
{{/with}}
Run Code Online (Sandbox Code Playgroud)
var source = $("#hb-template").html();
var template = Handlebars.compile(source);
var html = template(context);
$("#hb-html").html(html);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1518 次 |
| 最近记录: |