x-handlebars-template js三元表达式

对于handlebars.js的使用者而言,在实际应用中可能会涉及三元表达式的场景,但三元运算这种高级货,在handlebars js中是不存在的。

handlebars js网站对这种模板的表达式介绍的很清楚了。那么如何在x-handlebars-template中解决三元运算的需求呢,答案就在Handlebars.registerHelper()函数中。在全局注意一个自定义方法,用来处理三元运算的需求,如下所示:

--js--Handlebars.registerHelper(' ternaryOperator', function(a,b,ok,ex) {
    return a > b ? ok : ex;
});

在x-handlebars-template模板中使用自定义函数,在调用时注意x-handlebars js的语法(没有小括号,没有逗号,只有空格符):

--markup--<div>{{ternaryOperator 10 20 'yes' 'no'}}</div>

handlebar js在模板中提供的运算能力几乎没有,只有模板填充的概念。这是它的闪光点,如果,有运算处理需求,结合Handlebars.registerHelper函数,可以让这种简单的模板大放异彩。