Skip to content

Commit

Permalink
Merge pull request #1798 from sveltejs/gh-1795
Browse files Browse the repository at this point in the history
detach each block iterations with no update method
  • Loading branch information
Rich-Harris authored Oct 24, 2018
2 parents 1e28b3f + f46366c commit e65b0bb
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/compile/render-dom/wrappers/EachBlock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ export default class EachBlockWrapper extends Wrapper {
`;
} else {
destroy = deindent`
for (; #i < ${iterations}.length; #i += 1) {
for (${this.block.hasUpdateMethod ? `` : `#i = ${this.vars.each_block_value}.${length}`}; #i < ${iterations}.length; #i += 1) {
${iterations}[#i].d(1);
}
${iterations}.length = ${this.vars.each_block_value}.${length};
Expand Down
25 changes: 25 additions & 0 deletions test/runtime/samples/each-block-index-only/_config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
export default {
data: {
things: [0, 0, 0, 0, 0]
},

html: `
<p>0</p>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
`,

test(assert, component, target) {
component.set({
things: [0, 0, 0]
});

assert.htmlEqual(target.innerHTML, `
<p>0</p>
<p>1</p>
<p>2</p>
`);
}
};
3 changes: 3 additions & 0 deletions test/runtime/samples/each-block-index-only/main.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{#each things as _, i}
<p>{i}</p>
{/each}

0 comments on commit e65b0bb

Please sign in to comment.