dont generate code for non-updating if block - fixes #3447

pull/3478/head
Rich Harris 6 years ago
parent 13b1a80691
commit 334323fb8b

@ -441,6 +441,7 @@ export default class IfBlockWrapper extends Wrapper {
`if (${name}) ${name}.m(${initial_mount_node}, ${anchor_node});` `if (${name}) ${name}.m(${initial_mount_node}, ${anchor_node});`
); );
if (!branch.dependencies || branch.dependencies.length > 0) {
const update_mount_node = this.get_update_mount_node(anchor); const update_mount_node = this.get_update_mount_node(anchor);
const enter = dynamic const enter = dynamic
@ -461,12 +462,10 @@ export default class IfBlockWrapper extends Wrapper {
${name}.c(); ${name}.c();
${has_transitions && `@transition_in(${name}, 1);`} ${has_transitions && `@transition_in(${name}, 1);`}
${name}.m(${update_mount_node}, ${anchor}); ${name}.m(${update_mount_node}, ${anchor});
${has_transitions && `} else { } ${has_transitions && `else @transition_in(${name}, 1);`}
@transition_in(${name}, 1);`}
}
`; `;
if (branch.snippet && branch.dependencies.length) { if (branch.snippet) {
block.builders.update.add_block(`if (${branch.dependencies.map(n => `changed.${n}`).join(' || ')}) ${branch.condition} = ${branch.snippet}`); block.builders.update.add_block(`if (${branch.dependencies.map(n => `changed.${n}`).join(' || ')}) ${branch.condition} = ${branch.snippet}`);
} }
@ -494,6 +493,7 @@ export default class IfBlockWrapper extends Wrapper {
} }
`); `);
} }
}
block.builders.destroy.add_line(`${if_name}${name}.d(${detaching});`); block.builders.destroy.add_line(`${if_name}${name}.d(${detaching});`);
} }

@ -49,19 +49,7 @@ function create_fragment(ctx) {
insert(target, if_block_anchor, anchor); insert(target, if_block_anchor, anchor);
}, },
p(changed, ctx) { p: noop,
if (show_if) {
if (!if_block) {
if_block = create_if_block(ctx);
if_block.c();
if_block.m(if_block_anchor.parentNode, if_block_anchor);
}
} else if (if_block) {
if_block.d(1);
if_block = null;
}
},
i: noop, i: noop,
o: noop, o: noop,

Loading…
Cancel
Save