Ractive.js索引似乎不是被动的

时间:2015-12-27 14:16:58

标签: javascript arrays mustache ractivejs

请看这个jsfiddle(改编自Rich Harris的一个):

http://jsfiddle.net/upgu2tq3/29/

我正在尝试从“帖子”键路径中按索引删除项目。我可以使用内置的拼接方法来做到这一点。它的行为就像普通的Array.splice。 splice(array,startIndex,numberOfItemsToRemove)

 {{#each Posts:i}}
    <button on-click="splice('Posts',i,1)">Remove {{i}}</button>
 {{/each}}

这可以从密钥路径中删除项目。但是,删除后,{{i}}(“删除”旁边)的值似乎不会更新。

我已将帖子标记为“发布0”,“发布1”等,以便与索引匹配。

它看起来像是通过数字索引(从0到长度-1)进行迭代?只是模板似乎在更改数组时不更新索引。我已经检查了一个项目被删除后的长度 - 减少了......

我对此感到有些困惑。

1 个答案:

答案 0 :(得分:1)

它按预期工作。

拼接后索引会发生变化。单击删除按钮后,您可以看到按钮标签更改。

您感到困惑,因为您已将内容硬编码为“Post 0”等。由于索引已更改,内容不会更改。

如果您想要更改,请将{{Text}}更改为Post {{i}}