我现在有个需求:定义一个自定义的标签,这个标签会从数据库中查询数据返回一个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}}