Frontender Libs - обзор библиотек JS / CSS
8.49K subscribers
2K photos
727 videos
1 file
234 links
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Менеджер по рекламе: @Spiral_Yuri

Купить рекламу: https://telega.in/c/sWebDev
Download Telegram
Какой декоратор Angular позволяет компоненту реагировать на события, происходящие вне его области видимости?
Anonymous Quiz
23%
👍3
Ситуация знакома?

❤️ - Нет.

👍 - Еще как.

👉 @sWebDev | #юмор
👍164
Внедрение зависимостей в динамические компоненты

ViewContainerRef в Angular позволяет динамически создавать компоненты и внедрять в них зависимости. Сначала нужно получить доступ к ViewContainerRef через @ViewChild, затем использовать метод createComponent для создания экземпляра компонента. После создания можно передать данные через инстанс компонента.

Пример:
@Component({
selector: 'app-dynamic-host',
template: `<ng-container #container></ng-container>`,
})
export class DynamicHostComponent {
@ViewChild('container', { read: ViewContainerRef, static: true })
container!: ViewContainerRef;

loadComponent() {
const componentRef = this.container.createComponent(DynamicComponent);
componentRef.instance.data = 'Переданные данные';
}
}

@Component({
selector: 'app-dynamic-component',
template: `<p>{{ data }}</p>`,
})
export class DynamicComponent {
data!: string;
}

👉 @sWebDev
🔥41
This media is not supported in your browser
VIEW IN TELEGRAM
Low Poly Experiment

Анимация колбы с окрашивающимся реагентом на GSAP.

👉 @sWebDev
👍2
Сталкивались с разочарованием от курсов?

❤️ — Да.

👍 — Нет.

👉 @sWebDev | #юмор
27👍5👎1🔥1
Bottleneck

Bottleneck — это библиотека для управления параллельными запросами в Node.js. Она предоставляет простой способ управления количеством одновременно выполняемых асинхронных операций, что помогает избежать перегрузки системы и эффективно распределять ресурсы.

👉 @sWebDev
👍4
Гибкая предварительная загрузка данных в SPA

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

👉 @sWebDev
👍2
Quixote

Quixote — это JavaScript-библиотека, предназначенная для тестирования пользовательских интерфейсов. Она позволяет создавать изолированные среды (фреймы) для тестирования компонентов HTML, CSS и JavaScript. Quixote позволяет проверять внешний вид и поведение интерфейсов в различных условиях, обеспечивая точность и кроссбраузерную совместимость.

👉 @sWebDev
🔥4
Создание контекста в React

Что используется для создания контекста в React?

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

👉 @sWebDev
2
Что используется для создания контекста в React?
Anonymous Quiz
4%
React.createState.
31%
React.useContext.
64%
React.createContext.
1%
React.useReducer.
Доступное объяснение.

👉 @sWebDev | #юмор
👍147
Создание кастомных валидаторов с ValidatorFn

ValidatorFn — это функция, которая принимает AbstractControl (например, FormControl) и возвращает null, если данные валидны, или объект с ошибкой, если нет.

Пример кастомного валидатора, который проверяет, начинается ли значение с определенной буквы:
import { AbstractControl, ValidatorFn } from '@angular/forms';

export function startsWithLetterValidator(letter: string): ValidatorFn {
return (control: AbstractControl): { [key: string]: any } | null => {
const startsWithLetter = control.value?.startsWith(letter);
return startsWithLetter ? null : { startsWithLetter: { value: control.value } };
};
}

Применение валидатора:

import { FormBuilder, Validators } from '@angular/forms';
import { startsWithLetterValidator } from './validators/starts-with-letter.validator';

this.form = this.fb.group({
name: ['', [Validators.required, startsWithLetterValidator('A')]]
});

Валидатор проверяет, что значение поля name начинается с буквы "A".

👉 @sWebDev
👍4
Media is too big
VIEW IN TELEGRAM
Random Three.js

Генератор коробки на Three.js.

👉 @sWebDev
👍6
Курам на смех.

👉 @sWebDev | #юмор
🔥5🤔1
Gun.js

Gun.js — это библиотека JavaScript, предназначенная для создания децентрализованных графовых баз данных, поддерживающих работу в реальном времени. Gun.js используется для разработки приложений, которые могут синхронизироваться между разными устройствами без необходимости наличия центрального сервера, что делает её полезной для создания P2P-приложений и оффлайн-функциональности.

👉 @sWebDev
👍3
Media is too big
VIEW IN TELEGRAM
Fire shader

Настраиваемая анимация камина на Three.js.

👉 @sWebDev
👍3
Глубокое погружение в формы в современном React

Статья подробно рассматривает создание форм в современном React без использования сторонних библиотек. Автор описывает основные методы работы с формами, такие как использование POST запросов, управление состоянием формы, асинхронная обработка данных, и оптимистичное обновление интерфейса.

👉 @sWebDev
👍4
Media is too big
VIEW IN TELEGRAM
Knotwork

Абстрактная интерактивная анимация на Three.js.

👉 @sWebDev
👍3
Rivets.js

Rivets.js – это библиотека для привязки данных (data-binding) в JavaScript, которая позволяет легко связывать данные с HTML элементами. Она работает по принципу MVVM (Model-View-ViewModel) и обеспечивает двустороннюю привязку данных.

👉 @sWebDev
👍3