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) { } 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) { if (if_exists_condition) {
@ -357,7 +361,7 @@ export default class IfBlockWrapper extends Wrapper {
parent_node: Identifier, parent_node: Identifier,
_parent_nodes: Identifier, _parent_nodes: Identifier,
dynamic, dynamic,
{ name, anchor, has_else, has_transitions }, { name, anchor, has_else, has_transitions, if_exists_condition },
detaching detaching
) { ) {
const select_block_type = this.renderer.component.get_unique_name(`select_block_type`); 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) { } 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( block.chunks.destroy.push(

Loading…
Cancel
Save