Внедрение зависимостей в динамические компоненты
Пример:
👉 @sWebDev
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
🔥4❤1
Bottleneck
Bottleneck — это библиотека для управления параллельными запросами в Node.js. Она предоставляет простой способ управления количеством одновременно выполняемых асинхронных операций, что помогает избежать перегрузки системы и эффективно распределять ресурсы.
👉 @sWebDev
Bottleneck — это библиотека для управления параллельными запросами в Node.js. Она предоставляет простой способ управления количеством одновременно выполняемых асинхронных операций, что помогает избежать перегрузки системы и эффективно распределять ресурсы.
👉 @sWebDev
👍4
Гибкая предварительная загрузка данных в SPA
Статья рассказывает о создании кастомного скрипта для предварительной загрузки данных в одностраничных приложениях (SPA). Автор объясняет, как это помогает ускорить загрузку приложений, делая запросы на получение данных параллельно с загрузкой страницы.
👉 @sWebDev
Статья рассказывает о создании кастомного скрипта для предварительной загрузки данных в одностраничных приложениях (SPA). Автор объясняет, как это помогает ускорить загрузку приложений, делая запросы на получение данных параллельно с загрузкой страницы.
👉 @sWebDev
👍2
Quixote
Quixote — это JavaScript-библиотека, предназначенная для тестирования пользовательских интерфейсов. Она позволяет создавать изолированные среды (фреймы) для тестирования компонентов HTML, CSS и JavaScript. Quixote позволяет проверять внешний вид и поведение интерфейсов в различных условиях, обеспечивая точность и кроссбраузерную совместимость.
👉 @sWebDev
Quixote — это JavaScript-библиотека, предназначенная для тестирования пользовательских интерфейсов. Она позволяет создавать изолированные среды (фреймы) для тестирования компонентов HTML, CSS и JavaScript. Quixote позволяет проверять внешний вид и поведение интерфейсов в различных условиях, обеспечивая точность и кроссбраузерную совместимость.
👉 @sWebDev
🔥4
Создание контекста в React
Что используется для создания контекста в React?
Если забыли, то вернитесь к посту от12.08.2024 .
👉 @sWebDev
Что используется для создания контекста в React?
Если забыли, то вернитесь к посту от
👉 @sWebDev
❤2
Что используется для создания контекста в React?
Anonymous Quiz
4%
React.createState.
31%
React.useContext.
64%
React.createContext.
1%
React.useReducer.
Создание кастомных валидаторов с ValidatorFn
Пример кастомного валидатора, который проверяет, начинается ли значение с определенной буквы:
Валидатор проверяет, что значение поля name начинается с буквы "A".
👉 @sWebDev
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
Gun.js
Gun.js — это библиотека JavaScript, предназначенная для создания децентрализованных графовых баз данных, поддерживающих работу в реальном времени. Gun.js используется для разработки приложений, которые могут синхронизироваться между разными устройствами без необходимости наличия центрального сервера, что делает её полезной для создания P2P-приложений и оффлайн-функциональности.
👉 @sWebDev
Gun.js — это библиотека JavaScript, предназначенная для создания децентрализованных графовых баз данных, поддерживающих работу в реальном времени. Gun.js используется для разработки приложений, которые могут синхронизироваться между разными устройствами без необходимости наличия центрального сервера, что делает её полезной для создания P2P-приложений и оффлайн-функциональности.
👉 @sWebDev
👍3
Глубокое погружение в формы в современном React
Статья подробно рассматривает создание форм в современном React без использования сторонних библиотек. Автор описывает основные методы работы с формами, такие как использование POST запросов, управление состоянием формы, асинхронная обработка данных, и оптимистичное обновление интерфейса.
👉 @sWebDev
Статья подробно рассматривает создание форм в современном React без использования сторонних библиотек. Автор описывает основные методы работы с формами, такие как использование POST запросов, управление состоянием формы, асинхронная обработка данных, и оптимистичное обновление интерфейса.
👉 @sWebDev
👍4
Rivets.js
Rivets.js – это библиотека для привязки данных (data-binding) в JavaScript, которая позволяет легко связывать данные с HTML элементами. Она работает по принципу MVVM (Model-View-ViewModel) и обеспечивает двустороннюю привязку данных.
👉 @sWebDev
Rivets.js – это библиотека для привязки данных (data-binding) в JavaScript, которая позволяет легко связывать данные с HTML элементами. Она работает по принципу MVVM (Model-View-ViewModel) и обеспечивает двустороннюю привязку данных.
👉 @sWebDev
👍3
Работа с ComponentFactoryResolver в Angular
Для чего используется
Если забыли, то вернитесь к посту от19.08.2024 .
👉 @sWebDev
Для чего используется
ComponentFactoryResolver
в Angular?Если забыли, то вернитесь к посту от
👉 @sWebDev
👍2