нажатию кнопки , массив сортируется и список реактивно перерисовывается. С этим всё норм. Но хочу сделать прелоадер чтобы крутился пока идет перерисовка (список длинный). Как мне отловить событие что браузер закончил перерисовку? ( и уберу прелоадер) Нужно именно окончание перерисовки визуальное, а не окончание сортировки в исходном массиве. На чистом js делаю без проблем, а вот как быть с v-for?
Точно не уверен, но может хук update или beforeUpdate
Посмотри на хуки
update() срабатывает на 2-3 сек раньше чем отрисуется, я так понимаю реагирует на окончание сортировки и цикла в виртуальном DOM, а самой перерисовки не дожидается (список очень длинный)
А на чистом JS как вы это делали?
У вас в коде написано update или updated?
updated(), опечатка была здесь
Попробуйте использовать beforeUpdate
в цикле добавляю в контейнер через wrapper.append(elem), и по окончании цикла блоку с прелоадером назначаю класс с display: none; методом prel.classList.app('hidden') и всё четко срабатывает.
не, beforeUpdate еще быстрее срабатывает, что логично ))) кстати на него можно прицепить появление прелоадера
У transition есть свои события, попробуй через них https://ru.vuejs.org/v2/api/#transition
Обсуждают сегодня