Frontender Libs - обзор библиотек JS / CSS
8.29K subscribers
2.04K photos
735 videos
3 files
243 links
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/sWebDev
Download Telegram
Часто пропускаете документацию?

👍 - Да.

❤️ - Обращаюсь к ней только если что-то не работает.

🤔 - Нет, это же база.

👉 @sWebDev | #юмор
🤔18👍108🔥1
Декоратор HostListener для работы с нестандартными пользовательскими событиями

В Angular декоратор @HostListener предоставляет удобный способ прослушивания событий, происходящих в DOM-элементах. Обычно он используется для стандартных событий, таких как клик, наведение мыши или прокрутка. Однако мало кто знает, что @HostListener можно использовать для регистрации и обработки нестандартных событий, включая те, что определены разработчиком, или даже событий, происходящих за пределами стандартных браузерных API.

Пример:
import { Component, HostListener } from '@angular/core';

@Component({
selector: 'app-custom-event-listener',
template: `<p>Нажмите Shift + K, чтобы сработало событие.</p>`
})
export class CustomEventListenerComponent {

@HostListener('window:keydown', ['$event'])
handleKeyDown(event: KeyboardEvent) {
if (event.shiftKey && event.key === 'k') {
console.log('Комбинация Shift + K нажата!');
// Здесь можно вызывать любые действия
}
}
}

👉 @sWebDev
👍81
This media is not supported in your browser
VIEW IN TELEGRAM
Bike ride

Анимация езды на велосипеде на GSAP.

👉 @sWebDev
👍7
Чувствуете удовлетворение от своего кода?

👍 - Да.

❤️ - Предпочитаю оставить консоль в покое.

👉 @sWebDev | #юмор
8👍5
Awesomplete

Awesomplete – это библиотека автозаполнения для полей ввода. Она предлагает гибкий и легковесный способ добавления автокомплита на сайты без зависимости от крупных библиотек, таких как jQuery.

👉 @sWebDev
👍5🤔1
Media is too big
VIEW IN TELEGRAM
Fluids [TSL]

Анимация шара с лого на Three.js.

👉 @sWebDev
👍3
React и FormData

Статья объясняет, как работать с формами в React с использованием API FormData, позволяющего собирать данные из форм. Она охватывает важные моменты, такие как работа с управляемыми и неуправляемыми формами, обработка данных в TypeScript, а также использование инструментов для валидации данных, таких как Zod. Также рассматриваются современные функции React и фреймворки, поддерживающие FormData.

👉 @sWebDev
👍4
Media is too big
VIEW IN TELEGRAM
Sea at sunrise

Анимация моря на Three.js.

👉 @sWebDev
👍5🔥1
TypeIt

TypeIt – это библиотека JavaScript для анимации ввода текста. Она позволяет анимировать процесс набора текста прямо на странице, имитируя реальное написание.

👉 @sWebDev
👍4
Работа с методом trackBy

Для чего используется TrackBy в Angular?

Если забыли, то вернитесь к посту от 21.10.2024.

👉 @sWebDev
👍3
Как думаете сколько здесь?

👍 - 250px.

❤️ - 25px.

👉 @sWebDev | #юмор
👍281
Декоратор @ViewChild с опцией { static: true } в Angular

@ViewChild в Angular предоставляет доступ к элементам DOM и дочерним компонентам в шаблоне. Опция { static: true } позволяет получить ссылку на элемент до инициализации представления, что полезно в случаях, когда к элементу нужно обратиться в ngOnInit.

Когда у @ViewChild установлено { static: true }, ссылка будет доступна в ngOnInit, а не только в ngAfterViewInit. Это может быть полезно для предварительной инициализации значений, которые зависят от состояния элементов шаблона. Например:
@ViewChild('myElement', { static: true }) myElement!: ElementRef;

ngOnInit() {
console.log(this.myElement.nativeElement); // доступно уже здесь
}

Важно помнить, что если элемент в шаблоне может быть динамически добавлен или удален с помощью *ngIf, лучше использовать { static: false }, так как это предотвратит ошибки в доступе к элементу.

👉 @sWebDev
👍51
This media is not supported in your browser
VIEW IN TELEGRAM
Giraffe: SVG Painting

Странная анимация жирафа на GSAP.

👉 @sWebDev
🤔4
Важен ли для вас оффлайн без куков и рекламы?

👍 — Да.

❤️ — Мне не принципиально.

👉 @sWebDev | #юмор
👍185🤔1
Progressive-Image.js

Progressive-Image.js — библиотека для плавной загрузки изображений. Сначала отображает размытое мини-изображение, которое заменяется на полное по мере загрузки, что улучшает UX.

👉 @sWebDev
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Simple Three.js matcap demo

Простой пример использования matcap в Three.js.

👉 @sWebDev
👍5
Управление типами кортежей в TypeScript

Статья рассказывает о работе с типами кортежей в TypeScript и их манипуляции. Автор делится подходами к использованию кортежей для создания более точных и гибких типов данных, объясняя, как преобразовывать кортежи, добавлять и удалять элементы, менять порядок и использовать деструктуризацию. Статья помогает понять, как кортежи могут улучшить точность типизации и структурирование данных в TypeScript.

👉 @sWebDev
👍6