Skip to content

Commit

Permalink
detach each block iterations with no update method - fixes #1795
Browse files Browse the repository at this point in the history
  • Loading branch information
Rich-Harris committed Oct 24, 2018
1 parent 1deb25e commit ece6aeb
Show file tree
Hide file tree
Showing 3 changed files with 31 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
27 changes: 27 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,27 @@
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) {
console.group('set');
component.set({
things: [0, 0, 0]
});
console.groupEnd();

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 ece6aeb

Please sign in to comment.