шаблонные рефы не нужно трогать и менять самому, да и в остальном - у тебя какая-то каша из querySelector’ов, так на вью не пишут
А как надо, чтобы правильно?
надо работать с данными, а не с DOM с DOM работает вью и 99% времени в твоем коде не должно быть никаких querySelector’ов, циклов по DOM-нодам и classList’ов почитай для начала про работу со стилями и классами: https://vuejs.org/guide/essentials/class-and-style.html
почитал про классы и стили. Но всё еще вопрос про работу с дом. Добавить каждому элементу ref и обращаться через него, а не querySelector?
тебе вообще не нужно обращаться к элементам, если не нужна принципиальная работа с DOM работай с данными: - нужно добавить класс? создай переменную и работай с ней, забайндив ее в шаблоне как :class=“{ anyClassName: yourVariable }” - нужно повесить обработчик? добавь @click на нужный элемент и напиши функцию, для этого не нужен addEventListener - нужно поменять текст? создай переменную и меняй ее, выводя в нужном месте в шаблоне
сделал так. Выглядит реально лучше)
лучше, но шаблонные рефы тоже не нужно использовать без необходимости, ну и самому манипулировать DOM’ом тоже в данном случае можно хранить нужный текст в отдельной переменной и просто интерполировать ее в шаблоне как {{ text }}, не нужно для этого лезть в textContent
имеешь ввиду вот это ref после знака равно? я еще немного отрефакторил. Оставшиеся переменные без реф не хотят работать, как надо.
шаблонные рефы - это когда ты пишешь в шаблоне ref=“someName” и потом получаешь доступ к этому элементу в коде, объявив переменную с таким же именем этого нужно избегать, если есть альтернативный вариант сделать то же самое через данные обычные рефы, которые не связаны с шаблоном - это ок
и это тоже, да когда ты обращаешься напрямую к DOM и пишешь всякие textContent, innerText, classList, querySelector и прочее, то стоит задуматься, можно ли это сделать через данные
еще раз спасибо даже настроение поднялось от причёсанного кода)
Обсуждают сегодня