связана с реактивностью, так что мб кто сталкивался:
есть поле, в котором хранится массив и этот массив на сервере меняется, после чего приходит на клиент уже изменённый, но без информации что и как изменилось. изменения в основном добавление\удаление элемента, перемещение очень редко. теортически возможно, что массив придёт абсолютно новый, но крайне маловерятно. на текущий момент я просто присваиваю полю новый массив. но на каждый элемент массива отрисовывается компонент, так что при таком раскладе все компоненты перерисовываются при каждом изменении. хотелось бы каким-либо образом преобразовать изначальный массив вместо переопределния. есть идеи как это сделать?
примеры:
изначально массив [1, 2, 4, 5], новый массив [1, 2, 3, 4, 5], т.е. нужно просто вставить 3 в середину
изначально массив [1, 2, 3, 4, 5], новый массив [1, 2, 4, 5], т.е. нужно удалить 3
Повесь обработчик через watch, который, путём сравнения нового и исходного массивов, будет определять, какие элементы были добавлены/удалены и делать splice в исходный массив.
так есть же :key параметр у циклов, vue поймёт что поменялось
Обсуждают сегодня