Handlebars dengan IF statement kondisi

Kadang template handlebars perlu untuk dikasih kondisi untuk mengikuti aturan tertentu. Untuk membuatnya, Handlebars sebenarnya sudah mengatasi nya dengan builtin helpers di link ini http://handlebarsjs.com/builtin_helpers.html. Namun kondisi tertentu kita mesti membuat IF kondisi tertentu selain default pada link tersebut.

Untuk membuatnya, saya lupa dapet stackoverflow mana, cuma buat catetan aja jika perlu nanti-nanti.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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);
        default:
            return options.inverse(this);
    }
});

Cara pakainya sama kaya di link diatas, cuma tag nya diganti jadi seperti kode dibawah ini.

1
2
3
4
5
{{#ifCond id '==' '' }}

{{ else }}

{{/ifCond}}

atau

1
2
3
4
5
{{#ifCond nama '==' 'irsyad' }}

{{ else }}

{{/ifCond}}

Moga bisa bermanfaat

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: