Работа с методом ngAfterContentInit
Когда вызывается метод
Если забыли, то вернитесь к посту от25.11.2024 .
👉 @sWebDev
Когда вызывается метод
ngAfterContentInit
в Angular?Если забыли, то вернитесь к посту от
👉 @sWebDev
Когда вызывается метод ngAfterContentInit в Angular?
Anonymous Quiz
14%
До инициализации компонента.
13%
Во время компиляции компонента.
0%
Перед уничтожением компонента.
73%
После инициализации контента, переданного через ng-content.
Управление зонами через NgZone.runOutsideAngular()
Метод
Пример:
В данном примере Angular не отслеживает события
👉 @sWebDev
Метод
runOutsideAngular()
из Angular позволяет выполнять код за пределами зоны Angular. Это предотвращает избыточное обнаружение изменений, ускоряя приложение в сценариях, где Angular не должен отслеживать изменения. Такой подход полезен для обработки скроллинга, таймеров или анимаций.Пример:
import { Component, NgZone } from '@angular/core';
@Component({
selector: 'app-optimization-example',
template: `<p>Скорость приложения оптимизирована!</p>`,
})
export class OptimizationExampleComponent {
constructor(private ngZone: NgZone) {
this.ngZone.runOutsideAngular(() => {
window.addEventListener('scroll', this.handleScroll);
});
}
handleScroll = () => {
console.log('Событие скроллинга обработано!');
};
}
В данном примере Angular не отслеживает события
scroll
, что снижает нагрузку на систему. Однако важно помнить, что для обновления интерфейса нужно вернуться в зону Angular с помощью NgZone.run()
.👉 @sWebDev
Htmx
Htmx — это библиотека для добавления интерактивности через HTML-атрибуты. Она помогает управлять асинхронными запросами, обновлять части страницы и обрабатывать события, минимизируя использование JavaScript.
👉 @sWebDev
Htmx — это библиотека для добавления интерактивности через HTML-атрибуты. Она помогает управлять асинхронными запросами, обновлять части страницы и обрабатывать события, минимизируя использование JavaScript.
👉 @sWebDev
UseContextSelector: ускоренный аналог useContext для React
Статья описывает хук
👉 @sWebDev
Статья описывает хук
useContextSelector
, который является улучшенной версией useContext
в React. Автор рассказывает, как этот хук позволяет оптимизировать производительность, минимизируя перерисовки компонентов, и предоставляет примеры его применения в больших проектах.👉 @sWebDev
Shifty
Shifty — это микробиблиотека для создания анимаций с точным контролем ключевых кадров. Она предоставляет интерфейс для управления анимационными свойствами через JavaScript, не завися от DOM. Полезна для кастомных анимаций, таких как переходы между сложными состояниями.
👉 @sWebDev
Shifty — это микробиблиотека для создания анимаций с точным контролем ключевых кадров. Она предоставляет интерфейс для управления анимационными свойствами через JavaScript, не завися от DOM. Полезна для кастомных анимаций, таких как переходы между сложными состояниями.
👉 @sWebDev
Работа с unstable_batchedUpdates
Для чего используется метод
Если забыли, то вернитесь к посту от02.12.2024 .
👉 @sWebDev
Для чего используется метод
unstable_batchedUpdates
?Если забыли, то вернитесь к посту от
👉 @sWebDev
Для чего используется метод unstable_batchedUpdates?
Anonymous Quiz
6%
Для улучшения сортировки массивов в React.
11%
Для автоматического создания компонентов.
16%
Для оптимизации загрузки данных.
68%
Для объединения обновлений состояния в один ререндер.
Реактивные формы с AbstractControl в Angular
Пример:
В этом примере валидатор сравнивает значения
👉 @sWebDev
AbstractControl
— это базовый класс для всех контролов. Он предоставляет методы и свойства, которые позволяют управлять состоянием, валидацией и зависимостями полей формы.Пример:
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
constructor(private fb: FormBuilder) {}
ngOnInit() {
this.form = this.fb.group({
password: ['', Validators.required],
confirmPassword: ['']
});
this.form.get('confirmPassword')?.setValidators([
this.matchPasswordsValidator(this.form.get('password'))
]);
}
matchPasswordsValidator(passwordControl: AbstractControl | null) {
return (confirmPasswordControl: AbstractControl) => {
const password = passwordControl?.value;
const confirmPassword = confirmPasswordControl.value;
return password === confirmPassword ? null : { passwordMismatch: true };
};
}
В этом примере валидатор сравнивает значения
password
и confirmPassword
, автоматически реагируя на изменения первого поля. 👉 @sWebDev
This media is not supported in your browser
VIEW IN TELEGRAM
Работаете ли вы быстрее над проектом в команде?
👍 - Да, работать вместе отлично.
❤️ - Нет, это замедляет процесс.
🤔 - Насчет скорости не знаю, зато не скучно!
👉 @sWebDev
👍 - Да, работать вместе отлично.
❤️ - Нет, это замедляет процесс.
🤔 - Насчет скорости не знаю, зато не скучно!
👉 @sWebDev
Wow.js
Wow.js — это JavaScript-библиотека, которая добавляет анимации элементам страницы при прокрутке. Она автоматически выявляет элементы, которые попадают в видимую область окна браузера, и применяет к ним CSS-анимации.
👉 @sWebDev
Wow.js — это JavaScript-библиотека, которая добавляет анимации элементам страницы при прокрутке. Она автоматически выявляет элементы, которые попадают в видимую область окна браузера, и применяет к ним CSS-анимации.
👉 @sWebDev
Как настроить автофокус с помощью React Hooks
В статье объясняется, как с помощью React Hooks легко добавить автофокус на элементы формы. На простых примерах показано, как использовать
👉 @sWebDev
В статье объясняется, как с помощью React Hooks легко добавить автофокус на элементы формы. На простых примерах показано, как использовать
useRef
, чтобы сделать интерфейс удобнее и отзывчивее.👉 @sWebDev