TypeError: each_blocks [i] равен нулю в Svelte - PullRequest
0 голосов
/ 06 июня 2018

У меня проблема с созданием и обновлением списков компонентов в Svelte.У меня есть список TodoItems, то есть:

App.html

<!-- ... -->
<!-- The culprit -->
{#if todos.length}
  {#each todos as todo, i}
    <TodoItem
     on:remove='remove(i)'
     title={todo.title}
   />
  {/each}
{/if}
<script>
import TodoItem from './TodoItem.html';

export default {
 components: {
   TodoItem,
 },
 data() {
   return {
     todos: [{ title: 'Hello World' }],
   };
 },
 methods: {
   remove(key) {
     let { todos } = this.get();
     this.set({
       todos: todos.filter((_, i) => i !== key),
     });
   },
 },
};
</script>

TodoItem.html

<li>
  <div class="view">
    <label>{title}</label>
    <button on:click='fire("remove")' class="destroy"></button>
  </div>
</li>

Это ошибки Cannot read property 'i' of null (chrome) или TypeError: each_blocks[i] is null (firefox) при обновлении списка.

Вот пример REPL .

...