ifCond使用车把js

时间:2017-07-12 13:07:06

标签: handlebars.js

我试图使用Or ||使用句柄条形成一个逻辑但它不起作用。如何||在车把上工作。

 <img src="{{#ifCond item.0.img_url '!==' '' || item.0.img_url '!==' null  }}
{{item.0.img_url}}{{else}}/assets/images/logo.svg{{/ifCond}}">

我正在使用这个辅助函数

Handlebars.registerHelper('ifCond', 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);
    }
});

我现在已经这样做了,但我不知道这是否是正确的做法。

   {{#ifCond item.0.img_url '!==' ''}}
                {{item.0.img_url}}
                {{#ifCond item.0.img_url '!==' null}}
                {{item.0.img_url}}
                {{else}}
                /assets/images/logo.svg
                {{/ifCond}}
                {{else}}
                /assets/images/logo.svg
                {{/ifCond}}

1 个答案:

答案 0 :(得分:0)

                {{#ifCond item.0.img_url '!==' ''}}
                {{item.0.img_url}}
                {{#ifCond item.0.img_url '!==' null}}
                {{item.0.img_url}}
                {{else}}
                /assets/images/logo.svg
                {{/ifCond}}
                {{else}}
                /assets/images/logo.svg
                {{/ifCond}}