首页 > handlebars的registerHelper怎么自定义一个循环?

handlebars的registerHelper怎么自定义一个循环?

我现在有个需求:定义一个自定义的标签,这个标签会从数据库中查询数据返回一个array,怎么写?

类似于each的功能:
{{#each users}}

<li></li>

{{/each}}

改成
{{#findUsers}}
<li></li>
{{/findUsers}}


同步

Handlebars.registerHelper('findUsers', function (options) {
    var users = [
        {name: 'xxx', id: 2},
        {name: 'yyy', id: 3}
    ];

    var ret = '';

    users.forEach(function (user) {
        ret = ret + options.fn(user);
    });

    return ret;
});

{{#findUsers}}
    <a href="{{id}}">{{name}}</a>
{{/list}}

异步

Handlebars.registerAsyncHelper('findUsers', function (options,callback) {
    var users = [
        {name: 'xxx', id: 2},
        {name: 'yyy', id: 3}
    ];

    var ret = '';

    users.forEach(function (user) {
        ret = ret + options.fn(user);
    });

    callback(ret);
});

{{#findUsers}}
    <a href="{{id}}">{{name}}</a>
{{/list}}
【热门文章】
【热门文章】