Javascript 输出数据中存在的嵌套把手辅助对象
我碰到了一堵墙,不知道如何在提供的数据中找到车把助手。 我调整了一个JSFIDLE来说明我想要做什么。非常感谢您的帮助 您将看到数据中的Javascript 输出数据中存在的嵌套把手辅助对象,javascript,handlebars.js,handlebarshelper,Javascript,Handlebars.js,Handlebarshelper,我碰到了一堵墙,不知道如何在提供的数据中找到车把助手。 我调整了一个JSFIDLE来说明我想要做什么。非常感谢您的帮助 您将看到数据中的{{position.one}等于字符串团队领导,我可以毫无问题地输出该字符串,但是当该助手在{person.jobTitle}中使用时,它只输出前端{{position position one} 是否有办法将此输出设置为{{person.jobTitle}}中的{{position.one}},以便输出为前端团队负责人 这是小提琴。谢谢你看 回复:@luc
{{position.one}
等于字符串团队领导
,我可以毫无问题地输出该字符串,但是当该助手在{person.jobTitle}
中使用时,它只输出前端{{position position one}
是否有办法将此输出设置为{{person.jobTitle}}
中的{{position.one}}
,以便输出为前端团队负责人
这是小提琴。谢谢你看
回复:@luciano santos
无论表达式是独立的还是数据包含另一个表达式,都试图找到一种方法来循环所有内容
我找到了这个库扩展(),但只有当表达式直接位于正在计算的表达式中时,它才起作用,即{{jobTitle{{{position.one}}}}}
,而不是{jobTitle}
实际包含{position.one}
表达式
如果表达式包含{{
并重新计算,我可能需要编写一些内容进行计算
回答
最后为此编写了一个自定义帮助程序。希望它也能帮助其他人。此帮助程序允许对JSON或给定数据集中的嵌套表达式进行求值
在Handlebar中,表达式不能包含其他表达式。您最好在发送到Handlebar之前准备好数据,就像您对名称所做的那样:
var data = {
users: [ {
person: {
firstName: "Garry",
lastName: "Finch"
},
job: {
title: "Front End",
position: "Team Lead"
},
twitter: "gazraa"
} ]
};
通过这种方式,您可以创建一个助手,就像您对人名所做的那样,并将两个值合并
Handlebars.registerHelper('fullJob', function(job) {
return job.title + " " + job.position;
});
最后为此编写了一个自定义帮助程序。希望它也能帮助其他人。此帮助程序允许对JSON或给定数据集中的嵌套表达式进行求值
如果没有某种自定义处理程序,我认为无法从数据中呈现模板。。。