我想创建一个registerHelper来检查我的JSON文件中的特定字符串,但不知怎的,我无法让它工作。
所以,我的JSON返回(只是示例数据,但结构是正确的):
links : {
name: "abc",
href: "some url"
},
{
name: "def"
href: "some url"
}
{
name: "ghi"
href: "some url"
}
{
name: "jkl"
href: "some url"
}
and so on...
因此,根据名称,我想显示不同的HTML内容,所以我尝试创建一个帮助器:
Handlebars.registerHelper('specific', function(specs, options) {
if("abc" || "jkl"){
return options.fn(this);
} else {
return options.inverse(this);
}
});
和html:
{{#specific links}}
<h1>blablab</h1>
{{/specific}}
所以我有两个问题:
1)支票不起作用 2)如果条件为假,则不应显示html
我怎样才能实现这一目标?我做错了什么?
答案 0 :(得分:0)
帮助者第二行的if
是问题所在。您没有将您的名字值与字符串文字进行比较&#34; abc&#34;或者&#34; jkl&#34;,你只是问这些字符串文字是否真实(它们是真的),所以条件总是会通过,无论如何,导致你的HTML总是被显示。
相反它应该是:
if(spec.name === "abc" || spec.name === "jkl"){
然后,您将实际将名称值与字符串进行比较。