fix onrender hook for nested widgets

pull/103/head
Arpad Borsos 8 years ago
parent e09a39d34f
commit 19c376f032
No known key found for this signature in database
GPG Key ID: 908EDF65263368B4

@ -489,6 +489,8 @@ export default function generate ( parsed, source, options ) {
state = {};
};
this._parent = options.parent;
${initStatements.join( '\n\n' )}
}
` );

@ -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
});
` );
}

@ -0,0 +1,13 @@
export default {
skip: true,
data: {
visible: true
},
html: 'before\n<p>Widget</p><!--#if visible-->\nafter',
test ( assert, component, target ) {
component.set({ visible: false });
assert.equal( target.innerHTML, 'before\n<!--#if visible-->\nafter' );
component.set({ visible: true });
assert.equal( target.innerHTML, 'before\n<p>Widget</p><!--#if visible-->\nafter' );
}
};

@ -0,0 +1,14 @@
before
{{#if visible}}
<Widget />
{{/if}}
after
<script>
import Widget from './Widget.html';
export default {
components: {
Widget
}
};
</script>

@ -0,0 +1,11 @@
<Widget/>{{#if foo}}<Widget/>{{/if}}
<script>
import Widget from './Widget.html';
export default {
components: {
Widget
}
};
</script>

@ -0,0 +1,9 @@
<p ref:x>{{inDocument}}</p>
<script>
export default {
onrender () {
this.set({ inDocument: document.contains( this.refs.x ) })
}
};
</script>

@ -0,0 +1,3 @@
export default {
html: `<div><p>true</p>\n<p>true</p></div>`
};

@ -0,0 +1,16 @@
<div>
<Widget/>
<ParentWidget />
</div>
<script>
import Widget from './Widget.html';
import ParentWidget from './ParentWidget.html';
export default {
components: {
Widget,
ParentWidget
}
};
</script>
Loading…
Cancel
Save