我无法在车把模板上执行以下代码。您能在下面的代码中指出错误吗?
{{#if (isGreen PARAM1 PARAM2)}}
<td scope="col">GREEN</td>
{{/if}}
isGreen
是自定义注册助手,如下所示:
Handlebars.registerHelper('isGreen', function (PARAM1, PARAM2)
{
//SOME STEPS
return true;
}
以上内容的目的是,如果只有registerHelper返回if
,则在true
块中打印内容。
我收到以下错误:
Uncaught TypeError: Cannot read property 'includeZero' of undefined
答案 0 :(得分:2)
除非我缺少您无法链接帮助者的内容:否则您无法在另一个帮助对象中调用帮助者。 #if是一个助手,isGreen是另一个。
您可以做的是将#if逻辑放入自定义帮助程序中。
您的html将如下所示:
{{#isGreen PARAM1 PARAM2)}}
<td scope="col">GREEN</td>
{{/isGreen}}
您的脚本是这样的:
Handlebars.registerHelper('isGreen', function (PARAM1, PARAM2, options) {
// Some steps where you'll set the doDisplay variable
// accordingly with your logic
if (doDisplay) {
// Your condition is met display something
return options.fn(this);
} else {
// Your condition isn't met display nothing
return "";
}
}