@@ -137,7 +137,7 @@ export function template(templateSpec, env) {
|
|||||||
blockParams = templateSpec.useBlockParams ? [] : undefined;
|
blockParams = templateSpec.useBlockParams ? [] : undefined;
|
||||||
if (templateSpec.useDepths) {
|
if (templateSpec.useDepths) {
|
||||||
if (options.depths) {
|
if (options.depths) {
|
||||||
depths = context !== options.depths[0] ? [context].concat(options.depths) : options.depths;
|
depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;
|
||||||
} else {
|
} else {
|
||||||
depths = [context];
|
depths = [context];
|
||||||
}
|
}
|
||||||
@@ -174,7 +174,7 @@ export function template(templateSpec, env) {
|
|||||||
export function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
|
export function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
|
||||||
function prog(context, options = {}) {
|
function prog(context, options = {}) {
|
||||||
let currentDepths = depths;
|
let currentDepths = depths;
|
||||||
if (depths && context !== depths[0]) {
|
if (depths && context != depths[0]) {
|
||||||
currentDepths = [context].concat(depths);
|
currentDepths = [context].concat(depths);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -247,4 +247,27 @@ describe('Regressions', function() {
|
|||||||
};
|
};
|
||||||
shouldCompileToWithPartials(string, [{}, {}, partials], true, 'Outer');
|
shouldCompileToWithPartials(string, [{}, {}, partials], true, 'Outer');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('GH-1135 : Context handling within each iteration', function() {
|
||||||
|
var obj = {array: [1], name: 'John'};
|
||||||
|
var helpers = {
|
||||||
|
myif: function(conditional, options) {
|
||||||
|
if (conditional) {
|
||||||
|
return options.fn(this);
|
||||||
|
} else {
|
||||||
|
return options.inverse(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
shouldCompileTo(`
|
||||||
|
{{#each array}}
|
||||||
|
1. IF: {{#if true}}{{../name}}-{{../../name}}-{{../../../name}}{{/if}}
|
||||||
|
2. MYIF: {{#myif true}}{{../name}}={{../../name}}={{../../../name}}{{/myif}}
|
||||||
|
{{/each}}
|
||||||
|
`, [obj, helpers], `
|
||||||
|
1. IF: John--
|
||||||
|
2. MYIF: John==
|
||||||
|
`);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user