Merge pull request #2409 from sveltejs/gh-2354

only create fallback content if no slot is provided
pull/2411/head
Rich Harris 6 years ago committed by GitHub
commit 3f97558533
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -106,6 +106,7 @@ export default class SlotWrapper extends Wrapper {
let mount_before = block.builders.mount.toString();
block.builders.create.push_condition(`!${slot}`);
block.builders.claim.push_condition(`!${slot}`);
block.builders.hydrate.push_condition(`!${slot}`);
block.builders.mount.push_condition(`!${slot}`);
block.builders.update.push_condition(`!${slot}`);
@ -118,6 +119,7 @@ export default class SlotWrapper extends Wrapper {
block.event_listeners = listeners;
block.builders.create.pop_condition();
block.builders.claim.pop_condition();
block.builders.hydrate.pop_condition();
block.builders.mount.pop_condition();
block.builders.update.pop_condition();

@ -80,7 +80,7 @@ describe('hydration', () => {
if (config.test) {
config.test(assert, target, snapshot, component, window);
} else {
component.destroy();
component.$destroy();
assert.equal(target.innerHTML, '');
}
} catch (err) {

@ -0,0 +1,7 @@
<div>
<slot name="foo">
foo fallback
</slot>
<slot></slot>
</div>

@ -0,0 +1,4 @@
<div>
<div slot="foo">foo override</div>
default
</div>

@ -0,0 +1,4 @@
<div>
<div slot="foo">foo override</div>
default
</div>

@ -0,0 +1,11 @@
<script>
import Nested from './Nested.svelte'
</script>
<Nested>
<div slot="foo">
foo override
</div>
default
</Nested>
Loading…
Cancel
Save