add if_block existence check in block.p (#4633)

pull/4738/head
pushkin 5 years ago committed by GitHub
parent f1d7da320b
commit 3ed11fa29d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -334,7 +334,11 @@ export default class IfBlockWrapper extends Wrapper {
`);
}
} else if (dynamic) {
block.chunks.update.push(b`${name}.p(#ctx, #dirty);`);
if (if_exists_condition) {
block.chunks.update.push(b`if (${if_exists_condition}) ${name}.p(#ctx, #dirty);`);
} else {
block.chunks.update.push(b`${name}.p(#ctx, #dirty);`);
}
}
if (if_exists_condition) {
@ -357,7 +361,7 @@ export default class IfBlockWrapper extends Wrapper {
parent_node: Identifier,
_parent_nodes: Identifier,
dynamic,
{ name, anchor, has_else, has_transitions },
{ name, anchor, has_else, has_transitions, if_exists_condition },
detaching
) {
const select_block_type = this.renderer.component.get_unique_name(`select_block_type`);
@ -486,7 +490,11 @@ export default class IfBlockWrapper extends Wrapper {
`);
}
} else if (dynamic) {
block.chunks.update.push(b`${name}.p(#ctx, #dirty);`);
if (if_exists_condition) {
block.chunks.update.push(b`if (${if_exists_condition}) ${name}.p(#ctx, #dirty);`);
} else {
block.chunks.update.push(b`${name}.p(#ctx, #dirty);`);
}
}
block.chunks.destroy.push(

Loading…
Cancel
Save