如何使用Handlebars三元助手?

rya*_*nve 10 handlebars.js assemble

根据这个答案,我写了一个帮手

module.exports.register = function (Handlebars) {
    Handlebars.registerHelper('ternary', function(test, yes, no) {
        return test ? yes : no;
    });
};
Run Code Online (Sandbox Code Playgroud)

我确定帮助程序已加载并正在定义,但无法弄清楚使用它的语法.我尝试过使用它

<div>{{ternary(true, 'yes', 'no')}}</div>
Run Code Online (Sandbox Code Playgroud)

但这会产生汇编构建错误

Warning: Parse error on line 10:
...<div>{{ternary(true, 'yes',
----------^
Expecting 'ID', 'DATA', got 'INVALID' Use --force to continue.
Run Code Online (Sandbox Code Playgroud)

使用这样的帮助器的正确语法是什么?

doo*_*owb 13

把手助手:http://handlebarsjs.com/#helpers不遵循模板中的JavaScript语法.您可以像这样使用它们:

<div>{{ternary true "yes" "no"}}</div>
Run Code Online (Sandbox Code Playgroud)


Ala*_*ong 6

更新7/14/2017

由于这两个字符串在JavaScript中都被视为truthy值,因此我将代码更改为以下内容:

{{input value=email placeholder="Enter Email" class="form-control"
    disabled=(if isResetting 1 0)
}}
Run Code Online (Sandbox Code Playgroud)

============================

原始答案

如果尝试使用内联如何{{if}}

{{if user.isAdmin "True" "False" }}
Run Code Online (Sandbox Code Playgroud)