Есть компонент Period. В цикле по массиву periods вывожу компоненты Period передавая туда отдельный объект
                  
                  
                  <template v-for="(period, index) in periods">
                  
                  
                                      <Period :period="period" :key="period.key"></Period>
                  
                  
                  </template>
                  
                  
                  
                  
                  
                  period.key генерируется автоматически при добавлении в массив periods. Внутри компонента Period есть метод удаления периода, удаляет сам себя
                  
                  
                  this.$parent.periods.splice(index, 1);
                  
                  
                  index при удалении совпадает с index в массиве.
                  
                  
                  
                  
                  
                  Теперь сама проблема. Добавляю 3 периода, удаляю период с индексом 0, потом 1, потом 2 - всё корректно. Если же удалю сначала с индексом 1, потом с индексом 0, то будет ошибка "[Vue warn]: Error in nextTick: "NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.""
                  
                  
                  Если при выводе компонента Period убрать :key или поставить :key="period.index", то всё работает корректно. Почему так происходит?
                  
                  
                
по-моему более явно кидать евент родителю и там удалять элемент
Обсуждают сегодня