【发布时间】:2015-10-06 22:38:59
【问题描述】:
如 here 所述,Ember 1.13 需要 {{each}} 助手的密钥。从 Ember 1.13.2 开始,默认密钥是 @identity。
现在我正在尝试修复我的代码,我将每个循环嵌套在另一个循环中(一段显示日历的代码)。我收到以下错误:
Uncaught Error: Duplicate key found ('(null)') for '{{each}}' helper, please use a unique key or switch to '{{#each model key="@index"}}{{/each}}'.
但即使我添加一个@guid 作为键,错误仍然会显示。代码:
{{#each weeks key="@guid" as |week|}}
<tr>
{{#each week key="@guid" as |day|}}
<td class="day"></td>
{{/each}}
</tr>
{{/each}}
我不明白。由于@guid 应该为每个对象创建一个唯一标识符,为什么我仍然会收到这个duplicate key found 错误?
编辑:
我认为Duplicate key found 与嵌套的每个循环有关的假设显然是错误的。在尝试按照 Kitler 的建议构建小提琴之后,我确实理解了我的问题(见答案)。
【问题讨论】:
-
您已链接到状态的那个问题 @guid 和 @item 已弃用,取而代之的是新的默认值。
-
这只是我的问题,如果您将循环包裹在循环中,
new default将不起作用。如果你有一个“正常”循环,默认值会更容易(因为你不需要做任何事情)。 -
如果你不使用它,你不需要密钥......
-
@Kitler:如果我不提供密钥,我会收到一个错误......
-
你能在bin中设置你的例子吗?
标签: ember.js