Или это нормальная практика?
Если нужно именно по взаимодействовать - то только через $refs и нужно. Но вот взаимодействовать с DOM, а не описывать шаблон - нужно очень редко
Пример: взаимодействие через добавление класса элементу. Это так нужно делать? Почему бы не забайндить этот же класс?
Нет, так ни в коем случае нельзя делать. Это всё описывается шаблоном
Так делать нельзя - это через $refs?
Да, нельзя "брать и добавлять класс элементу". Можно описывать, от чего зависят классы элемента шаблоном
Тогда для чего на примере каком-то нужны $refs при взаимодействии с DOM?
например хотите заюзать либу которая аргументом принимает DOM узел, берёте его из $ref и подсовываете
Вызвать метод DOM элемента. Например, фокус или ресет формы. Делать то, что нельзя описать шаблоном. Работать напрямую с ним, например, для рисования на канвасе
Вот это как раз опасно. Если либа модифицирует DOM, они могшут пойти в конфликт с Vue, изменения могут теряться при ререндеринге
я понимаю что нужно учитывать эти моменты, но исключения тоже никто не отменял.
Я дописал, чем
Обсуждают сегодня