मुझे पता है कि यह बहुत देर हो चुकी है।
जावा स्क्रिप्ट:: लेकिन मैं निम्नलिखित कोड के साथ इस मुद्दे को हल कर
Handlebars.registerHelper('eachData', 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;
});
HTML:
{{#eachData items}}
{{index}} // You got here start with 0 index
{{/eachData}}
अगर आप 1 के साथ अपने प्रारंभ अनुक्रमणिका चाहते आप कोड निम्न करना चाहिए:
जावास्क्रिप्ट:
Handlebars.registerHelper('eachData', 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;
});
Handlebars.registerHelper("math", function(lvalue, operator, rvalue, options) {
lvalue = parseFloat(lvalue);
rvalue = parseFloat(rvalue);
return {
"+": lvalue + rvalue
}[operator];
});
एचटीएमएल:
{{#eachData items}}
{{math index "+" 1}} // You got here start with 1 index
{{/eachData}}
धन्यवाद।
आप अपनी खुद की सहायक रजिस्टर कर सकते हैं करने के लिए के साथ पैरेंट ऑब्जेक्ट की
key
उपयोग कर सकते हैं यह, उदाहरण के लिए: https://gist.github.com/1048968 या: http://pastebin.com/ksGrVYkz – stusmithमैंने गिस्ट उदाहरण के लिए एक और समाधान जोड़ा जो हैंडलबार्स-1.0.rc.1.js के साथ काम करता है। https://gist.github.com/1048968#gistcomment-617934 – mlienau