Как использовать proxyConfig в Angular для локальной разработки
Работа с API на локальной разработке часто вызывает проблемы из-за CORS. В статье объясняется, как правильно настроить proxyConfig в Angular, чтобы отправлять запросы через прокси без изменения кода.
👉 @sWebDev
Работа с API на локальной разработке часто вызывает проблемы из-за CORS. В статье объясняется, как правильно настроить proxyConfig в Angular, чтобы отправлять запросы через прокси без изменения кода.
👉 @sWebDev
👍3
BaguetteBox.js
BaguetteBox.js — JavaScript-библиотека для создания адаптивных галерей с эффектом lightbox. Поддерживает свайпы на мобильных устройствах, навигацию с клавиатуры и легко встраивается в готовую вёрстку.
👉 @sWebDev
BaguetteBox.js — JavaScript-библиотека для создания адаптивных галерей с эффектом lightbox. Поддерживает свайпы на мобильных устройствах, навигацию с клавиатуры и легко встраивается в готовую вёрстку.
👉 @sWebDev
❤2
Поиск зависимости при SkipSelf
Как работает флаг
Забыли? Вернитесь к посту от28.04.2025 .
👉 @sWebDev
Как работает флаг
InjectFlags.SkipSelf
при внедрении зависимости?Забыли? Вернитесь к посту от
👉 @sWebDev
👍2
Как работает флаг InjectFlags.SkipSelf при внедрении зависимости?
Anonymous Quiz
13%
Ищет только в текущем инжекторе.
72%
Ищет в родительских инжекторах, пропуская текущий.
5%
Отменяет внедрение зависимости.
10%
Вызывает ошибку при отсутствии провайдера.
👍4
Отключение шаблона от change detection через ViewRef.detach()
В Angular метод
Такой подход позволяет вручную управлять производительностью, особенно при наличии большого количества вложенных представлений, не требующих постоянного обновления.
👉 @sWebDev
В Angular метод
detach()
у ViewRef
позволяет временно исключить представление из механизма обнаружения изменений. Это значит, что Angular перестаёт отслеживать изменения данных внутри отключённого представления, что полезно при работе с тяжёлыми компонентами или при необходимости заморозить часть UI.ViewRef
можно получить, например, при создании представления через ViewContainerRef.createEmbeddedView()
или createComponent()
. После вызова detach()
Angular перестаёт проверять это представление при каждом цикле изменений. Чтобы снова активировать его, вызывается viewRef.reattach()
.const viewRef = viewContainer.createEmbeddedView(templateRef);
viewRef.detectChanges();
viewRef.detach();
// ...позже
viewRef.reattach();
Такой подход позволяет вручную управлять производительностью, особенно при наличии большого количества вложенных представлений, не требующих постоянного обновления.
👉 @sWebDev
👍4
Animatelo
Animatelo — JavaScript-версия анимаций из Animate.css, работающая без зависимостей. Поддерживает все основные эффекты (вход, выход, внимание и др.) и управляется через классы. Подойдёт для проектов, где нужны CSS-анимации без подключения сторонних стилей.
👉 @sWebDev
Animatelo — JavaScript-версия анимаций из Animate.css, работающая без зависимостей. Поддерживает все основные эффекты (вход, выход, внимание и др.) и управляется через классы. Подойдёт для проектов, где нужны CSS-анимации без подключения сторонних стилей.
👉 @sWebDev
👍2
Аутентификация Firebase в Angular 19
В Angular 19 интеграция с Firebase позволяет реализовать аутентификацию с помощью email/пароля, социальных сетей и других методов. Статья показывает, как настроить Firebase в проекте, использовать AngularFire для подключения и создать сервис для управления сессиями и входом пользователей. Полезно для тех, кто хочет добавить надёжную аутентификацию без лишнего кода.
👉 @sWebDev
В Angular 19 интеграция с Firebase позволяет реализовать аутентификацию с помощью email/пароля, социальных сетей и других методов. Статья показывает, как настроить Firebase в проекте, использовать AngularFire для подключения и создать сервис для управления сессиями и входом пользователей. Полезно для тех, кто хочет добавить надёжную аутентификацию без лишнего кода.
👉 @sWebDev
👍2
NanoJS
NanoJS — сверхмаленькая JavaScript-библиотека для базовых операций с DOM. Предоставляет минимальный набор функций для селекторов, событий и анимации. Подойдёт для проектов, где нужен ручной контроль без jQuery и тяжёлых фреймворков.
👉 @sWebDev
NanoJS — сверхмаленькая JavaScript-библиотека для базовых операций с DOM. Предоставляет минимальный набор функций для селекторов, событий и анимации. Подойдёт для проектов, где нужен ручной контроль без jQuery и тяжёлых фреймворков.
👉 @sWebDev
👍2
Структура аргументов useOptimistic()
Что принимает
Забыли? Вернитесь к посту от05.05.2025 .
👉 @sWebDev
Что принимает
useOptimistic()
в качестве начальных данных?Забыли? Вернитесь к посту от
👉 @sWebDev
👍1
Что принимает useOptimistic() в качестве начальных данных?
Anonymous Quiz
23%
Массив функций обратного вызова.
58%
Массив или объект начального состояния.
5%
Строку с URL API.
14%
Компонент React.
❤1👍1
Очистка ресурсов через DestroyRef.onDestroy()
DestroyRef предоставляет метод
Зарегистрированная функция выполняется при уничтожении компонента. Такой подход помогает избежать утечек памяти и использовать лаконичную форму очистки.
👉 @sWebDev
DestroyRef предоставляет метод
onDestroy()
, с помощью которого можно зарегистрировать функцию, выполняемую при уничтожении экземпляра. Данный способ подходит для отписки от Observable, остановки таймера или удаления обработчика событий без реализации интерфейса OnDestroy
.import { Component, inject, DestroyRef } from '@angular/core';
import { interval, Subscription } from 'rxjs';
@Component({
selector: 'demo-ticker',
template: `<p>{{ tick }}</p>`,
})
export class TickerComponent {
tick = 0;
private sub: Subscription;
constructor() {
const destroyRef = inject(DestroyRef);
this.sub = interval(1000).subscribe(v => (this.tick = v));
destroyRef.onDestroy(() => {
this.sub.unsubscribe();
console.log('Подписка завершена');
});
}
}
Зарегистрированная функция выполняется при уничтожении компонента. Такой подход помогает избежать утечек памяти и использовать лаконичную форму очистки.
👉 @sWebDev
👍4👎1