Динамическая загрузка компонентов с использованием возможностей Angular Ivy
Одним из нововведений в Angular с появлением Ivy является возможность динамической загрузки компонентов. Ранее этот процесс требовал использования
Пример:
Для динамической загрузки компонентов мы можем использовать метод
👉 @sWebDev
Одним из нововведений в Angular с появлением Ivy является возможность динамической загрузки компонентов. Ранее этот процесс требовал использования
ComponentFactoryResolver
. С Ivy же, динамическая загрузка компонентов стала проще и интуитивно понятнее.Пример:
Для динамической загрузки компонентов мы можем использовать метод
ViewContainerRef.createComponent
. Он позволяет загружать компоненты по мере необходимости, не загружая их в основной бандл приложения.import { Component, ViewChild, ViewContainerRef } from '@angular/core';
@Component({
selector: 'app-dynamic-loader',
template: `<ng-template #container></ng-template>`
})
export class DynamicLoaderComponent {
@ViewChild('container', { read: ViewContainerRef, static: true }) container: ViewContainerRef;
constructor() {}
loadComponent(component: any) {
this.container.clear();
this.container.createComponent(component);
}
}
👉 @sWebDev
👍4👎1
NoSleep.js
NoSleep.js — это библиотека JavaScript, которая предотвращает переход мобильных устройств в спящий режим, когда веб-страница активна. Это особенно полезно для приложений, где важно поддерживать активность экрана, таких как видеоплееры или приложения для работы с картами.
👉 @sWebDev
NoSleep.js — это библиотека JavaScript, которая предотвращает переход мобильных устройств в спящий режим, когда веб-страница активна. Это особенно полезно для приложений, где важно поддерживать активность экрана, таких как видеоплееры или приложения для работы с картами.
👉 @sWebDev
❤6
Интеграция аутентификации с отпечатком пальца и Face ID в ваше Angular-приложение с использованием WebAuthn: пошаговое руководство
Статья описывает процесс добавления биометрической аутентификации (отпечаток пальца и Face ID) в Angular-приложение с помощью WebAuthn.
👉 @sWebDev
Статья описывает процесс добавления биометрической аутентификации (отпечаток пальца и Face ID) в Angular-приложение с помощью WebAuthn.
👉 @sWebDev
👍5🤔1
Gridstack.js
Gridstack.js — это библиотека JavaScript для создания динамических, настраиваемых сеточных макетов с функцией drag-and-drop. С её помощью можно легко организовывать элементы на странице, перетаскивая их в нужные позиции. Gridstack.js подходит для создания интерактивных панелей, дашбордов и других интерфейсов, где важна гибкость и динамическое управление содержимым.
👉 @sWebDev
Gridstack.js — это библиотека JavaScript для создания динамических, настраиваемых сеточных макетов с функцией drag-and-drop. С её помощью можно легко организовывать элементы на странице, перетаскивая их в нужные позиции. Gridstack.js подходит для создания интерактивных панелей, дашбордов и других интерфейсов, где важна гибкость и динамическое управление содержимым.
👉 @sWebDev
👍4
Работа с ChangeDetectionStrategy.OnPush
Когда компонент с
Если забыли, то вернитесь к посту от09.09.2024 .
👉 @sWebDev
Когда компонент с
ChangeDetectionStrategy.OnPush
будет проверять изменения?Если забыли, то вернитесь к посту от
👉 @sWebDev
👍3
Когда компонент с ChangeDetectionStrategy.OnPush будет проверять изменения?
Anonymous Quiz
13%
При каждом событии изменения в любом компоненте.
3%
Когда компонент не используется.
21%
При каждом изменении данных в сервисах.
64%
Только при изменении входного свойства или событии внутри компонента.
👍4
Инъекции зависимостей через глобальную функцию inject()
Функция
Пример использования:
Пример тестирования:
👉 @sWebDev
Функция
inject()
в Angular позволяет инъектировать зависимости непосредственно в тело функции. Это альтернатива стандартному подходу через конструкторы.Пример использования:
import { inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
export class DataService {
private http = inject(HttpClient);
fetchData() {
return this.http.get('/api/data');
}
}
inject()
вызывает инъекцию Angular для получения нужной зависимости. Ее можно использовать в теле класса, а не только в параметрах конструктора.Пример тестирования:
import { inject } from '@angular/core';
import { HttpTestingController } from '@angular/common/http/testing';
describe('DataService', () => {
let httpMock = inject(HttpTestingController);
it('should fetch data', () => {
// Логика теста
});
});
👉 @sWebDev
👍7🔥1
Turbolinks
Turbolinks — это библиотека, которая ускоряет навигацию на веб-сайтах, загружая только HTML-содержимое страницы вместо полной перезагрузки.
👉 @sWebDev
Turbolinks — это библиотека, которая ускоряет навигацию на веб-сайтах, загружая только HTML-содержимое страницы вместо полной перезагрузки.
👉 @sWebDev
👍5
Как преобразовать приложение на Angular с помощью Signals
Статья описывает, как использовать библиотеку Signals для управления состоянием и реактивными обновлениями в приложениях на Angular. Автор объясняет, как интегрировать Signals в существующий проект Angular для улучшения производительности и упрощения работы с состоянием.
👉 @sWebDev
Статья описывает, как использовать библиотеку Signals для управления состоянием и реактивными обновлениями в приложениях на Angular. Автор объясняет, как интегрировать Signals в существующий проект Angular для улучшения производительности и упрощения работы с состоянием.
👉 @sWebDev
❤2
Media is too big
VIEW IN TELEGRAM
Perlin Waves on PIXI
Шум Перлина для создания волновых эффектов с использованием библиотеки Pixi.js.
👉 @sWebDev
Шум Перлина для создания волновых эффектов с использованием библиотеки Pixi.js.
👉 @sWebDev
👍4