Telegram Web
Media is too big
VIEW IN TELEGRAM
Fluids [TSL]

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

👉 @sWebDev
React и FormData

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

👉 @sWebDev
TypeIt

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

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

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

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

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

👍 - 250px.

❤️ - 25px.

👉 @sWebDev | #юмор
Декоратор @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
This media is not supported in your browser
VIEW IN TELEGRAM
Giraffe: SVG Painting

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

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

👍 — Да.

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

👉 @sWebDev | #юмор
Progressive-Image.js

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

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

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

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

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

👉 @sWebDev
Peg.js

Peg.js — парсер-генератор на JavaScript, позволяющий создавать парсеры для специализированных языков и грамматик. Использует PEG (Parsing Expression Grammar) для описания правил синтаксического анализа.

👉 @sWebDev
Работа с декоратором Optional()

Что произойдет, если @Optional() зависимость не найдена?

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

👉 @sWebDev
Считаете ли свой интерфейс интуитивно понятным?

👍 — Да, 100%.

❤️ — Нет, могло быть и лучше.

👉 @sWebDev | #юмор
ChangeDetectorRef для ручного контроля изменений в компонентах

ChangeDetectorRef — инструмент в Angular, позволяющий управлять обнаружением изменений в компонентах вручную. Это особенно полезно, когда автоматическое обнаружение изменений (change detection) не может уловить изменения состояния, например, при работе с асинхронными операциями или сторонними библиотеками, которые Angular не отслеживает по умолчанию.

Методы markForCheck() и detectChanges() позволяют более гибко управлять процессом обновления компонента. Например, если нужно обновить представление при изменении данных, полученных через сторонний API, можно вызвать detectChanges() после обновления данных:
import { ChangeDetectorRef } from '@angular/core';

@Component({
selector: 'app-example',
template: `<p>{{ data }}</p>`
})
export class ExampleComponent {
data: string;

constructor(private cdr: ChangeDetectorRef) {}

updateData(newData: string) {
this.data = newData;
this.cdr.detectChanges();
}
}

👉 @sWebDev
2024/12/02 05:24:16
Back to Top
HTML Embed Code: