Forwarded from Vueist
Небольшой лайфхак с лайфсайклом
В чате недавно напомнили о небольшом трюке, который почему-то часто ускользает из вида и кажется неочевидным
Наверное вы периодически могли видеть что-то подобное
И данный код кажется слегка изыточным, а порой это бывает и с запросами и тд. И есть ощущение что немного лишнего вываливается в общий скоуп компонента. Однако можно сделать код чуть более семантичным и собранным:
Да. Теперь связанные сущности чуть лучше упакованы и да это работает. А если у вас несколько листенеров (такое бывает при обработке форм в ручную или D'n'D) можно доработать до
это позволит вам разом отключать всех подписчиков разом без нужды давать каждому отдельное имя (работает и с запросами и прочими браузерными API)
Надеюсь это поможет сделать вашу кодовую базу чуточку лучше
#лайфхак #composition
В чате недавно напомнили о небольшом трюке, который почему-то часто ускользает из вида и кажется неочевидным
Наверное вы периодически могли видеть что-то подобное
const onScroll = () => { /* ... */ }
onMounted(() => {
window.addEventListener('scroll', onScroll)
})
onUnmounted(() => {
window.removeEventListener('scroll', onMounted)
})
И данный код кажется слегка изыточным, а порой это бывает и с запросами и тд. И есть ощущение что немного лишнего вываливается в общий скоуп компонента. Однако можно сделать код чуть более семантичным и собранным:
onMounted(() => {
const onScroll = () => { /* ... */ }
window.addEventListener('scroll', onScroll)
onUnmounted(() => {
window.removeEventListener('scroll', onMounted)
})
})
Да. Теперь связанные сущности чуть лучше упакованы и да это работает. А если у вас несколько листенеров (такое бывает при обработке форм в ручную или D'n'D) можно доработать до
onMounted(() => {
controller = new AbortController();
window.addEventListener('scroll', () => { /* ... */ }, { signal: controller.signal })
window.addEventListener('resize', () => { /* ... */ }. { signal: controller.signal })
window.addEventListener('click', () => { /* ... */ }. { signal: controller.signal })
onUnmounted(() => {
controller.abort()
})
})
это позволит вам разом отключать всех подписчиков разом без нужды давать каждому отдельное имя (работает и с запросами и прочими браузерными API)
Надеюсь это поможет сделать вашу кодовую базу чуточку лучше
#лайфхак #composition
🔥23🥴5❤2
С днём рождения получается меня 💚
Please open Telegram to view this post
VIEW IN TELEGRAM
1🎉47❤37🔥4❤🔥1
Forwarded from Vueist
У меня 2 новости. Обе хорошие. Сейчас сообщу первую, а вечером вторую (вы уже даже догадываетесь о чем речь)
1. У Vue чата отделили старый Vuejs jobs от нашей сетки, так как мнения администраций частенько не совпадали. Теперь у самого крупного русскоговорящего чата Vue свой чат по поиску работы Vuejs Career. С более щадящей и мягкой модерацией (без банов за выход / ограничений зп в 150к и тп). Также администраций будет единой с чатом Vuejs, так что договариваться будет проще в случае возникновения проблем.
Закидывайте рефералки / вакансии / резюмешки и мы будем надеяться, что это поможет одним успешно находить работу, а другим искать сотрудников. Модерация вакансий и требований может еще какой-то период дорабатываться и проясняться. Поэтому не бойтесь предлагать идеи.
PS. В честь этого также провели небольшой ребрендинг сообщества (сменили лого), так что не пугайтесь
1. У Vue чата отделили старый Vuejs jobs от нашей сетки, так как мнения администраций частенько не совпадали. Теперь у самого крупного русскоговорящего чата Vue свой чат по поиску работы Vuejs Career. С более щадящей и мягкой модерацией (без банов за выход / ограничений зп в 150к и тп). Также администраций будет единой с чатом Vuejs, так что договариваться будет проще в случае возникновения проблем.
Закидывайте рефералки / вакансии / резюмешки и мы будем надеяться, что это поможет одним успешно находить работу, а другим искать сотрудников. Модерация вакансий и требований может еще какой-то период дорабатываться и проясняться. Поэтому не бойтесь предлагать идеи.
PS. В честь этого также провели небольшой ребрендинг сообщества (сменили лого), так что не пугайтесь
🔥11
Forwarded from MSK VUE.JS News
Всем привет 🙂
Это мы идем с крутыми новостями🤪
Алярм: мы открываем регистрацию на новый митап!
📆 25 августа 2025,
Сбор гостей 19:00
Старт 19:30
📍 Мск, Льва Толстого 16, Офис Яндекс
👉 РЕГИСТРАЦИЯ 👈
В 14-ый раз команда сообщества MskVue.js соберет единомышленников в офисе Яндекс!
Вас ждут 4 доклада, розыгрыш мерча за лучший вопрос спикеру и просто тонна общения с крутыми разрабами 🙂
Совсем скоро мы представим наших спикеров, поэтому не переключайтесь 🙂
А еще, самое время зарегистрироваться на митап и забить место в своих календариках, чтобы не пропустить этот движ, ведь количество мест ограничено.
Передаем привет главному спонсору #14 митапа - Яндекс 💖
Увидимся совсем скоро🤍
Это мы идем с крутыми новостями🤪
Алярм: мы открываем регистрацию на новый митап!
Сбор гостей 19:00
Старт 19:30
👉 РЕГИСТРАЦИЯ 👈
В 14-ый раз команда сообщества MskVue.js соберет единомышленников в офисе Яндекс!
Вас ждут 4 доклада, розыгрыш мерча за лучший вопрос спикеру и просто тонна общения с крутыми разрабами 🙂
Совсем скоро мы представим наших спикеров, поэтому не переключайтесь 🙂
А еще, самое время зарегистрироваться на митап и забить место в своих календариках, чтобы не пропустить этот движ, ведь количество мест ограничено.
Передаем привет главному спонсору #14 митапа - Яндекс 💖
Увидимся совсем скоро
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7