问题
Following this answer, I wrote a helper like
module.exports.register = function (Handlebars) {
Handlebars.registerHelper('ternary', function(test, yes, no) {
return test ? yes : no;
});
};
I'm certain that the helper is loaded and being defined but can't figure out the syntax to use it. I tried using it like
<div>{{ternary(true, 'yes', 'no')}}</div>
but that gives an assemble build error
Warning: Parse error on line 10:
...<div>{{ternary(true, 'yes',
----------^
Expecting 'ID', 'DATA', got 'INVALID' Use --force to continue.
What is the proper syntax to use a helper like that?
回答1:
Handlebars helpers: http://handlebarsjs.com/#helpers don't follow the JavaScript syntax in the templates. You can use them like this:
<div>{{ternary true "yes" "no"}}</div>
回答2:
Update 7/14/2017
Since both string are considered as truthy value in JavaScript, I have changed my code to the following:
{{input value=email placeholder="Enter Email" class="form-control"
disabled=(if isResetting 1 0)
}}
============================
Original Answer
How about trying to use inline if {{if}}
?
{{if user.isAdmin "True" "False" }}
来源:https://stackoverflow.com/questions/29441130/how-to-use-handlebars-ternary-helper