查询车把中是否有块助手和自定义助手

Query on if block helper and custom helper in handlebars

我无法在车把模板上执行以下代码。能否请您指出以下代码中的错误?

{{#if (isGreen PARAM1 PARAM2)}}
          <td scope="col">GREEN</td>
{{/if}}

其中 isGreen 是自定义注册助手,如下所示:

Handlebars.registerHelper('isGreen', function (PARAM1, PARAM2) 
{
 //SOME STEPS
 return true;
}

我上面的意图是打印 if 块中的内容,如果只有 registerHelper returns true.

我收到以下错误:

Uncaught TypeError: Cannot read property 'includeZero' of undefined

除非我遗漏了一些你不能链接助手的东西:你不能在另一个助手中调用助手。 #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 "";
    }
}