If statement 如何使用车把条件助手?

If statement 如何使用车把条件助手?,if-statement,handlebars.js,If Statement,Handlebars.js,我有一个多iff块把手模板。iff是用于比较值的自定义帮助器。模板可以编译,但应用它,我没有得到任何输出,也没有错误 请问我做错了什么 敌我识别帮助程序 Handlebars.registerHelper("iff", function (v1, operator, v2, options) { switch (operator) { case '==': return (v1 == v2) ? options.fn(this) : options

我有一个多iff块把手模板。iff是用于比较值的自定义帮助器。模板可以编译,但应用它,我没有得到任何输出,也没有错误

请问我做错了什么

敌我识别帮助程序

Handlebars.registerHelper("iff", function (v1, operator, v2, options) {
    switch (operator) {
        case '==':
            return (v1 == v2) ? options.fn(this) : options.inverse(this);
        case '===':
            return (v1 === v2) ? options.fn(this) : options.inverse(this);
        case '<':
            return (v1 < v2) ? options.fn(this) : options.inverse(this);
        case '<=':
            return (v1 <= v2) ? options.fn(this) : options.inverse(this);
        case '>':
            return (v1 > v2) ? options.fn(this) : options.inverse(this);
        case '>=':
            return (v1 >= v2) ? options.fn(this) : options.inverse(this);
        case '&&':
            return (v1 && v2) ? options.fn(this) : options.inverse(this);
        case '||':
            return (v1 || v2) ? options.fn(this) : options.inverse(this);
        case '!=':
            return (v1 != v2) ? options.fn(this) : options.inverse(this);
        case '!==':
            return (v1 !== v2) ? options.fn(this) : options.inverse(this);
        default:
            return options.inverse(this);
    }
});
handlebar.registerHelper(“iff”),功能(v1,操作员,v2,选项){
开关(操作员){
案例“==”:
返回(v1==v2)?options.fn(this):options.inverse(this);
案例“=”:
返回(v1==v2)?options.fn(this):options.inverse(this);
案例“=”:
返回(v1>=v2)?options.fn(this):options.inverse(this);
案例“&&”:
return(v1&&v2)?options.fn(this):options.inverse(this);
案例“| |”:
return(v1 | | v2)?options.fn(this):options.inverse(this);
案例“!=”:
返回(v1!=v2)?options.fn(this):options.inverse(this);
案例“!==”:
返回(v1!==v2)?options.fn(this):options.inverse(this);
违约:
返回选项。反向(此);
}
});
模板

{{#each message}}
    {{#iff type '==' -1}}
    <div class='sb-date'>{{text}}</div>
    {{/iff}}
    {{#iff type '==' 1}}
    <div class='sb sb-text sb-{{dir}}'>{{text}}<div class="sb-time">{{time}}</div></div>
    {{/iff}}
    {{#iff type '==' 5}}
    <div class='sb sb-text sb-{{dir}}'>{{text}}<div class="sb-time">{{time}}</div></div>
    {{/iff}}
    {{#iff type '==' 6}}
    <div class='sb sb-text sb-{{dir}}'>{{text}}<div class="sb-time">{{time}}</div></div>
    {{/iff}}
    {{#iff type '==' 2}}
    <div class='sb sb-image sb-{{dir}}'><img alt="" src="media/{{text}}" /><div class="sb-time">{{time}}</div></div>
    {{/iff}}
    {{#iff type '>' 2}}
    <div class='sb sb-file sb-{{dir}}'>media/{{text}}<div class="sb-time">{{time}}</div></div>
    {{/iff}}
{{/each}}
{{#每条消息}
{{{#iff类型'='-1}}
{{text}}
{{/iff}}
{{{#iff类型'='1}}
{{text}}{{time}
{{/iff}}
{{{#iff类型'='5}}
{{text}}{{time}
{{/iff}}
{{{#iff类型'='6}}
{{text}}{{time}
{{/iff}}
{{{#iff类型'='2}}
{{time}}
{{/iff}}
{{{#iff类型'>'2}
媒体/{{text}{{time}
{{/iff}}
{{/每个}}
找到了解决方案


当传递一个数组时,使用:
{{{#each this}}

在我看来它是有效的。我认为您没有得到输出的唯一原因是您的数据没有
消息
数组。您是正确的,但我还需要使用{{{each this}}注意,由于这些字符被转换为“”,'','',所以这些案例可能不适用于“”,''&'从HTML。