diff --git a/src/generators/nodes/EachBlock.ts b/src/generators/nodes/EachBlock.ts
index 97671c37b0..e75e1722ae 100644
--- a/src/generators/nodes/EachBlock.ts
+++ b/src/generators/nodes/EachBlock.ts
@@ -75,6 +75,7 @@ export default class EachBlock extends Node {
}
this.contextProps = [
+ `${this.block.listName}: ${this.block.listName}`,
`${this.context}: ${this.block.listName}[#i]`,
`${this.block.indexName}: #i`
];
diff --git a/test/js/samples/each-block-changed-check/expected-bundle.js b/test/js/samples/each-block-changed-check/expected-bundle.js
index 59b104ef0e..97ad53ad14 100644
--- a/test/js/samples/each-block-changed-check/expected-bundle.js
+++ b/test/js/samples/each-block-changed-check/expected-bundle.js
@@ -212,6 +212,7 @@ function create_main_fragment(component, state) {
for (var i = 0; i < comments.length; i += 1) {
each_blocks[i] = create_each_block(component, assign({}, state, {
+ comments: comments,
comment: comments[i],
i: i
}));
@@ -244,6 +245,7 @@ function create_main_fragment(component, state) {
if (changed.comments || changed.elapsed || changed.time) {
for (var i = 0; i < comments.length; i += 1) {
var each_context = assign({}, state, {
+ comments: comments,
comment: comments[i],
i: i
});
diff --git a/test/js/samples/each-block-changed-check/expected.js b/test/js/samples/each-block-changed-check/expected.js
index f76e10d943..15a29e2739 100644
--- a/test/js/samples/each-block-changed-check/expected.js
+++ b/test/js/samples/each-block-changed-check/expected.js
@@ -10,6 +10,7 @@ function create_main_fragment(component, state) {
for (var i = 0; i < comments.length; i += 1) {
each_blocks[i] = create_each_block(component, assign({}, state, {
+ comments: comments,
comment: comments[i],
i: i
}));
@@ -42,6 +43,7 @@ function create_main_fragment(component, state) {
if (changed.comments || changed.elapsed || changed.time) {
for (var i = 0; i < comments.length; i += 1) {
var each_context = assign({}, state, {
+ comments: comments,
comment: comments[i],
i: i
});
diff --git a/test/runtime/samples/each-block-array-literal/_config.js b/test/runtime/samples/each-block-array-literal/_config.js
new file mode 100644
index 0000000000..bc36cdbe0e
--- /dev/null
+++ b/test/runtime/samples/each-block-array-literal/_config.js
@@ -0,0 +1,19 @@
+export default {
+ html: `
+
+
+ `,
+
+ test(assert, component, target) {
+ assert.htmlEqual(target.innerHTML,`
+
+
+ `);
+
+ const button = target.querySelector('button');
+ const event = new window.MouseEvent('click');
+
+ button.dispatchEvent(event);
+ assert.equal(component.get('clicked'), 'racoon');
+ },
+};
diff --git a/test/runtime/samples/each-block-array-literal/main.html b/test/runtime/samples/each-block-array-literal/main.html
new file mode 100644
index 0000000000..8c55e94612
--- /dev/null
+++ b/test/runtime/samples/each-block-array-literal/main.html
@@ -0,0 +1,11 @@
+{{#each ['racoon', 'eagle'] as animal}}
+
+{{/each}}
+
+