should not extend scope for across slots

pull/6049/head
Tan Li Hau 6 years ago committed by tanhauhau
parent 6ac7038e47
commit 9a28416aa3

@ -37,28 +37,6 @@ export default class Slot extends Element {
if (!this.slot_name) this.slot_name = 'default';
if (this.slot_name === 'default') {
// if this is the default slot, add our dependencies to any
// other slots (which inherit our slot values) that were
// previously encountered
component.slots.forEach((slot) => {
this.values.forEach((attribute, name) => {
if (!slot.values.has(name)) {
slot.values.set(name, attribute);
}
});
});
} else if (component.slots.has('default')) {
// otherwise, go the other way — inherit values from
// a previously encountered default slot
const default_slot = component.slots.get('default');
default_slot.values.forEach((attribute, name) => {
if (!this.values.has(name)) {
this.values.set(name, attribute);
}
});
}
component.slots.set(this.slot_name, this);
}
}

@ -0,0 +1,11 @@
<script>
let promise = new Promise(resolve => resolve(10));
</script>
{#each {length: 3} as _, i}
<slot item={i}/>
{/each}
{#await promise then value}
<slot {value}/>
{/await}

@ -0,0 +1,7 @@
export default {
html: `
<div>0 - undefined</div>
<div>1 - undefined</div>
<div>2 - undefined</div>
`
};

@ -0,0 +1,7 @@
<script>
import Nested from './Nested.svelte';
</script>
<Nested let:item let:value>
<div>{item} - {value}</div>
</Nested>

@ -1,6 +1,4 @@
<script>
import { onDestroy } from 'svelte';
let count = 0;
function increment() {

@ -3,7 +3,7 @@ export default {
<div>
<p>count in default slot: 0</p>
<p slot="foo">count in foo slot: 0</p>
<p slot="bar">count in bar slot: 0</p>
<p slot="bar">count in bar slot: undefined</p>
<button>+1</button>
</div>
`,
@ -17,7 +17,7 @@ export default {
<div>
<p>count in default slot: 1</p>
<p slot="foo">count in foo slot: 1</p>
<p slot="bar">count in bar slot: 1</p>
<p slot="bar">count in bar slot: undefined</p>
<button>+1</button>
</div>
`);

Loading…
Cancel
Save