mirror of https://github.com/sveltejs/svelte
fix contextual dynamic bind:this in {#each} (#4759)
parent
5efeeecee8
commit
a73be39a80
@ -0,0 +1,14 @@
|
|||||||
|
export default {
|
||||||
|
html: ``,
|
||||||
|
|
||||||
|
async test({ assert, component, target }) {
|
||||||
|
component.visible = true;
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<div>b</div><div>b</div><div>c</div><div>c</div>
|
||||||
|
`);
|
||||||
|
assert.equal(component.items1[1], target.querySelector('div'));
|
||||||
|
assert.equal(component.items2[1], target.querySelector('div:nth-child(2)'));
|
||||||
|
assert.equal(component.items1[2], target.querySelector('div:nth-child(3)'));
|
||||||
|
assert.equal(component.items2[2], target.querySelector('div:last-child'));
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,13 @@
|
|||||||
|
<script>
|
||||||
|
export const items1 = {};
|
||||||
|
export const items2 = {};
|
||||||
|
export let data = [
|
||||||
|
{id: 1, text: "b"},
|
||||||
|
{id: 2, text: "c"},
|
||||||
|
];
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{#each data as item (item.id)}
|
||||||
|
<div bind:this={items1[item.id]}>{item.text}</div>
|
||||||
|
<div bind:this={items2[item.id]}>{item.text}</div>
|
||||||
|
{/each}
|
@ -0,0 +1,14 @@
|
|||||||
|
export default {
|
||||||
|
html: ``,
|
||||||
|
|
||||||
|
async test({ assert, component, target }) {
|
||||||
|
component.visible = true;
|
||||||
|
assert.htmlEqual(target.innerHTML, `
|
||||||
|
<div>a</div><div>a</div><div>b</div><div>b</div>
|
||||||
|
`);
|
||||||
|
assert.equal(component.items1[1], target.querySelector('div'));
|
||||||
|
assert.equal(component.items2[1], target.querySelector('div:nth-child(2)'));
|
||||||
|
assert.equal(component.items1[2], target.querySelector('div:nth-child(3)'));
|
||||||
|
assert.equal(component.items2[2], target.querySelector('div:last-child'));
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,13 @@
|
|||||||
|
<script>
|
||||||
|
export const items1 = {};
|
||||||
|
export const items2 = {};
|
||||||
|
var data = [
|
||||||
|
{id: 1, text: "a"},
|
||||||
|
{id: 2, text: "b"},
|
||||||
|
];
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{#each data as {id, text} (id)}
|
||||||
|
<div bind:this={items1[id]}>{text}</div>
|
||||||
|
<div bind:this={items2[id]}>{text}</div>
|
||||||
|
{/each}
|
Loading…
Reference in new issue