diff --git a/compiler/generate/index.js b/compiler/generate/index.js index 347d7062cfd2..fa9dc4f57836 100644 --- a/compiler/generate/index.js +++ b/compiler/generate/index.js @@ -489,6 +489,8 @@ export default function generate ( parsed, source, options ) { state = {}; }; + this._parent = options.parent; + ${initStatements.join( '\n\n' )} } ` ); diff --git a/compiler/generate/visitors/Element.js b/compiler/generate/visitors/Element.js index 8f5bf5f861a8..2b4e46acc0b5 100644 --- a/compiler/generate/visitors/Element.js +++ b/compiler/generate/visitors/Element.js @@ -58,7 +58,7 @@ export default { var ${name} = new template.components.${node.name}({ target: ${generator.current.target}, - parent: component, + parent: component._parent || component, data: ${name}_initialData }); ` ); @@ -66,7 +66,7 @@ export default { local.init.unshift( deindent` var ${name} = new template.components.${node.name}({ target: ${generator.current.target}, - parent: component + parent: component._parent || component }); ` ); } diff --git a/test/compiler/if-block-widget/Widget.html b/test/compiler/if-block-widget/Widget.html new file mode 100644 index 000000000000..bbd986fcb1d7 --- /dev/null +++ b/test/compiler/if-block-widget/Widget.html @@ -0,0 +1 @@ +
Widget
diff --git a/test/compiler/if-block-widget/_config.js b/test/compiler/if-block-widget/_config.js new file mode 100644 index 000000000000..6c42237db485 --- /dev/null +++ b/test/compiler/if-block-widget/_config.js @@ -0,0 +1,13 @@ +export default { + skip: true, + data: { + visible: true + }, + html: 'before\nWidget
\nafter', + test ( assert, component, target ) { + component.set({ visible: false }); + assert.equal( target.innerHTML, 'before\n\nafter' ); + component.set({ visible: true }); + assert.equal( target.innerHTML, 'before\nWidget
\nafter' ); + } +}; diff --git a/test/compiler/if-block-widget/main.html b/test/compiler/if-block-widget/main.html new file mode 100644 index 000000000000..5e2a3859b44c --- /dev/null +++ b/test/compiler/if-block-widget/main.html @@ -0,0 +1,14 @@ +before +{{#if visible}} +{{inDocument}}
+ + diff --git a/test/compiler/onrender-fires-when-ready-nested/_config.js b/test/compiler/onrender-fires-when-ready-nested/_config.js new file mode 100644 index 000000000000..06327ebc4dab --- /dev/null +++ b/test/compiler/onrender-fires-when-ready-nested/_config.js @@ -0,0 +1,3 @@ +export default { + html: `true
\ntrue