diff --git a/lib/core/renderer.js b/lib/core/renderer.js index d97e185..b1a6402 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -738,7 +738,7 @@ Renderer.setProperty(function current_element() { if (this.current_variables.has('$ancestor_element')) { return this.current_variables.get('$ancestor_element'); } - + return; } diff --git a/lib/element/custom_element.js b/lib/element/custom_element.js index 6dcbfb0..c17d133 100644 --- a/lib/element/custom_element.js +++ b/lib/element/custom_element.js @@ -1258,7 +1258,10 @@ function renderContentsWithTemplate(element, template, variables, slot_data, ple variables.setFromTemplate('child_nodes', slot_data.child_nodes); } + element.hawkejs_renderer = renderer; + renderer[Hawkejs.ANCESTOR_ELEMENT] = element; variables.setFromTemplate('$ancestor_element', element); + variables.hawkejs_renderer = renderer; Hawkejs.series(next => { renderer.renderTemplate(template, variables, String(render_counter++)).done(next); diff --git a/test/10-expressions.js b/test/10-expressions.js index 3605459..3855fce 100644 --- a/test/10-expressions.js +++ b/test/10-expressions.js @@ -1282,7 +1282,7 @@ This should be a converted variable: state:message={% my_name{:} %} > {{ state:message{:} }}-{{ attr:name }}-{{ prop:id }} - {{ state:message{:} }}-{{ attr:name }}-{{ prop:id }} + {{ state:message{:} }}-{{ attr:name }}-{{ prop:id }}