Javascript 重复使用手柄查找
给定一个对象数组,我想使用嵌套对象的一个属性来查找把手中关联对象中的各种属性 在本例中,我想显示每个大学的学生列表,以及每个学生所属系的信息 我的代码可以工作,但嵌套查找非常重复:Javascript 重复使用手柄查找,javascript,handlebars.js,template-engine,Javascript,Handlebars.js,Template Engine,给定一个对象数组,我想使用嵌套对象的一个属性来查找把手中关联对象中的各种属性 在本例中,我想显示每个大学的学生列表,以及每个学生所属系的信息 我的代码可以工作,但嵌套查找非常重复: {{lookup (lookup ../majors major) 'dean'}} {{lookup (lookup ../majors major) 'location'}} 我能做些什么吗?我想访问查找的上下文,如下所示: {{#lookup ../majors major}} {{dean}}
{{lookup (lookup ../majors major) 'dean'}}
{{lookup (lookup ../majors major) 'location'}}
我能做些什么吗?我想访问查找的上下文,如下所示:
{{#lookup ../majors major}}
{{dean}}
{{location}}
{{/lookup}}
var source=$(“#hb template”).html();
var template=handlebar.compile(源代码);
var html=模板(上下文);
$(“#hb html”).html(html)代码>
{{{大学}
{{name}}
{{{学生}
{{name}}
专业
{{major}}
系主任
{{lookup(lookup../majors)'dean'}
部门位置
{{lookup(lookup../major)'location'}
{{/学生}
{{/大学}
变量上下文={
“大学”:[{
“名称”:“示范大学”,
“学生”:[{
“姓名”:“爱丽丝”,
“专业”:“业务”
},
{
“姓名”:“约翰”,
“专业”:“英语”
}
],
“专业”:{
“英语”:{
“院长”:“史密斯博士”,
“位置”:“101室”
},
“业务”:{
“院长”:“琼斯博士”,
“地点”:“999房间”
}
}
},
{
“名称”:“另一所大学”,
“学生”:[{
“姓名”:“鲍勃”,
“专业”:“业务”
}],
“专业”:{
“业务”:{
“院长”:“齐默尔曼博士”,
“地点”:“南校区”
}
}
}
]
};
我的解决方案是:使用并将查找子表达式的结果传递给对象。我不确定这是否是最好的方法,或者这是否真的有效,因此希望您能发表评论
{{#with (lookup ../majors major)}}
<dt>Department dean</dt>
<dd>{{dean}}</dd>
<dt>Department location</dt>
<dd>{{location}}</dd>
{{/with}}
{{{大学}
{{name}}
{{{学生}
{{name}}
专业
{{major}}
{{{#带(查找../专业)}
系主任
{{dean}}
部门位置
{{location}}
{{/与}}
{{/学生}
{{/大学}
变量上下文={
“大学”:[{
“名称”:“示范大学”,
“学生”:[{
“姓名”:“爱丽丝”,
“专业”:“业务”
},
{
“姓名”:“约翰”,
“专业”:“英语”
}
],
“专业”:{
“英语”:{
“院长”:“史密斯博士”,
“位置”:“101室”
},
“业务”:{
“院长”:“琼斯博士”,
“地点”:“999房间”
}
}
},
{
“名称”:“另一所大学”,
“学生”:[{
“姓名”:“鲍勃”,
“专业”:“业务”
}],
“专业”:{
“业务”:{
“院长”:“齐默尔曼博士”,
“地点”:“南校区”
}
}
}
]
};
我知道这是很久以前的事了,但我想感谢您发布这篇文章。我正在为当前的一个工作项目使用把手,这需要我花一点时间才能弄清楚。感谢您像这样详细地发布您的决议。干杯