Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // original each helper
- Handlebars.registerHelper('each', function(context, options) {
- var fn = options.fn, inverse = options.inverse;
- var ret = "";
- if(context && context.length > 0) {
- for(var i=0, j=context.length; i<j; i++) {
- ret = ret + fn(context[i]);
- }
- } else {
- ret = inverse(this);
- }
- return ret;
- });
- // each with index... relies on Object.create or polyfill
- Handlebars.registerHelper('each', function(context, options) {
- var fn = options.fn, inverse = options.inverse, ctx;
- var ret = "";
- if(context && context.length > 0) {
- for(var i=0, j=context.length; i<j; i++) {
- ctx = Object.create(context[i]);
- ctx.index = i;
- ret = ret + fn(ctx);
- }
- } else {
- ret = inverse(this);
- }
- return ret;
- });
- // each with named index
- //
- // used as:
- // {{#each people index="id"}}{{name}} #{{id}}{{/each}}
- Handlebars.registerHelper('each', function(context, options) {
- var fn = options.fn, inverse = options.inverse, ctx;
- var ret = "", indexName = options.hash.index;
- if(context && context.length > 0) {
- for(var i=0, j=context.length; i<j; i++) {
- ctx = context[i];
- if (indexName) {
- ctx = Object.create(ctx);
- ctx[indexName] = i;
- }
- ret = ret + fn(ctx);
- }
- } else {
- ret = inverse(this);
- }
- return ret;
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement