append to the dom, not a document fragment, when updating each block in slot - fixes #927

pull/932/head
Rich Harris 8 years ago
parent 5f84375d42
commit 2f86266e12

@ -21,7 +21,7 @@ export default function visitEachBlock(
const iterations = block.getUniqueName(`${each}_blocks`);
const params = block.params.join(', ');
const needsAnchor = node.next ? !isDomNode(node.next, generator) : !state.parentNode;
const needsAnchor = node.next ? !isDomNode(node.next, generator) : !state.parentNode || !isDomNode(node.parent, generator);
const anchor = needsAnchor
? block.getUniqueName(`${each}_anchor`)
: (node.next && node.next.var) || 'null';
@ -219,7 +219,7 @@ function keyed(
`);
const dynamic = node._block.hasUpdateMethod;
const parentNode = state.parentNode || `${anchor}.parentNode`;
const parentNode = isDomNode(node.parent, generator) ? node.parent.var : `${anchor}.parentNode`;
let destroy;
if (node._block.hasOutroMethod) {
@ -414,7 +414,7 @@ function unkeyed(
.map(dependency => `changed.${dependency}`)
.join(' || ');
const parentNode = state.parentNode || `${anchor}.parentNode`;
const parentNode = isDomNode(node.parent, generator) ? node.parent.var : `${anchor}.parentNode`;
if (condition !== '') {
const forLoopBody = node._block.hasUpdateMethod

Loading…
Cancel
Save