Fix handler execution in nondata/nonid mode

This commit is contained in:
kpdecker
2014-01-17 23:24:35 -06:00
parent 49fcf10de2
commit 5a0bcb932d
+7 -4
View File
@@ -70,13 +70,16 @@ function registerDefaultHelpers(instance) {
return inverse(this);
} else if (isArray(context)) {
if(context.length > 0) {
options.ids = [options.name];
if (options.ids) {
options.ids = [options.name];
}
return instance.helpers.each(context, options);
} else {
return inverse(this);
}
} else {
if (options.ids) {
if (options.data && options.ids) {
var data = createFrame(options.data);
data.contextPath = Utils.appendContextPath(options.data.contextPath, options.name);
options = {data: data};
@@ -97,7 +100,7 @@ function registerDefaultHelpers(instance) {
var i = 0, ret = "", data;
var contextPath;
if (options.ids) {
if (options.data && options.ids) {
contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';
}
@@ -170,7 +173,7 @@ function registerDefaultHelpers(instance) {
var fn = options.fn;
if (!Utils.isEmpty(context)) {
if (options.ids) {
if (options.data && options.ids) {
var data = createFrame(options.data);
data.contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]);
options = {data:data};