AnimationTrigger для создания сложных анимаций
В Angular
Пример:
👉 @sWebDev
В Angular
AnimationTrigger управляет анимациями компонентов, задавая состояния, их изменения и связывая анимации с событиями. Пример:
import { Component } from '@angular/core';
import { trigger, state, style, transition, animate } from '@angular/animations';
@Component({
selector: 'app-animated',
template: `
<div [@fadeInOut]="isVisible ? 'visible' : 'hidden'" class="box"></div>
<button (click)="toggle()">Toggle</button>
`,
animations: [
trigger('fadeInOut', [
state('visible', style({ opacity: 1 })),
state('hidden', style({ opacity: 0 })),
transition('hidden => visible', [animate('500ms ease-in')]),
transition('visible => hidden', [animate('300ms ease-out')]),
]),
],
styles: [`.box { width: 100px; height: 100px; background: lightblue; margin: 10px; }`],
})
export class AnimatedComponent {
isVisible = false;
toggle() {
this.isVisible = !this.isVisible;
}
}
👉 @sWebDev
👍4
Currency.js
Currency.js — это библиотека для работы с денежными значениями. Она разработана для точных вычислений и форматирования валют, избегая проблем с округлением при работе с числами с плавающей точкой в JavaScript.
👉 @sWebDev
Currency.js — это библиотека для работы с денежными значениями. Она разработана для точных вычислений и форматирования валют, избегая проблем с округлением при работе с числами с плавающей точкой в JavaScript.
👉 @sWebDev
👍5👎1🔥1
Почему не стоит использовать внешние отступы в компонентах
В статье рассматривается антипаттерн использования внешних отступов (margin) и внутренних отступов (padding) в компонентах пользовательского интерфейса. Автор утверждает, что добавление margin к внешнему элементу компонента нарушает инкапсуляцию и усложняет повторное использование компонентов. Вместо этого рекомендуется управлять внешними отступами на уровне родительских элементов или контейнеров, оставляя компонент ответственным только за внутренние отступы и оформление.
👉 @sWebDev
В статье рассматривается антипаттерн использования внешних отступов (margin) и внутренних отступов (padding) в компонентах пользовательского интерфейса. Автор утверждает, что добавление margin к внешнему элементу компонента нарушает инкапсуляцию и усложняет повторное использование компонентов. Вместо этого рекомендуется управлять внешними отступами на уровне родительских элементов или контейнеров, оставляя компонент ответственным только за внутренние отступы и оформление.
👉 @sWebDev
👍10
Txiki.js
Txiki.js — это небольшой и минималистичный JavaScript-рантайм, созданный для выполнения современных стандартов ECMAScript. Основная цель проекта — предложить лёгкий и быстрый инструмент для запуска JavaScript-кода, без необходимости использования громоздких движков вроде Node.js.
👉 @sWebDev
Txiki.js — это небольшой и минималистичный JavaScript-рантайм, созданный для выполнения современных стандартов ECMAScript. Основная цель проекта — предложить лёгкий и быстрый инструмент для запуска JavaScript-кода, без необходимости использования громоздких движков вроде Node.js.
👉 @sWebDev
👍3
Работа с методом Injector.create()
Какую задачу решает метод
Забыли? Вернитесь к посту от30.12.2024 .
👉 @sWebDev
Какую задачу решает метод
Injector.create() в Angular?Забыли? Вернитесь к посту от
👉 @sWebDev
👍3
Какую задачу решает метод Injector.create() в Angular?
Anonymous Quiz
38%
Создает новый инжектор, который наследует зависимости от корневого.
46%
Создает независимый инжектор с заданными провайдерами.
9%
Автоматически инжектирует зависимости в компонент при его создании.
8%
Регистрирует зависимости глобально для всего приложения.
👍4
Ручное обновление дерева компонентов
В Angular метод
Пример:
Без вызова
👉 @sWebDev
В Angular метод
ApplicationRef.tick() используется для запуска цикла обнаружения изменений вручную. Это полезно, когда изменения происходят вне зоны Angular, например, в callback-функциях или таймерах. Пример:
typenoscript
import { ApplicationRef, Component } from '@angular/core';
@Component({
selector: 'app-manual-tick',
template: `<p>{{ message }}</p>`,
})
export class ManualTickComponent {
message = 'Ожидание...';
constructor(private appRef: ApplicationRef) {
setTimeout(() => {
this.message = 'Изменение произошло';
this.appRef.tick(); // Обновляем вручную
}, 3000);
}
}
Без вызова
tick() изменения в message не были бы отражены в шаблоне, так как они происходят вне зоны Angular. 👉 @sWebDev
👍4
Lit
Библиотека для создания веб-компонентов с минимальным весом (~5 КБ). Использует стандартные HTML-шаблоны и JavaScript, эффективно обновляет только изменённые части DOM.
👉 @sWebDev
Библиотека для создания веб-компонентов с минимальным весом (~5 КБ). Использует стандартные HTML-шаблоны и JavaScript, эффективно обновляет только изменённые части DOM.
👉 @sWebDev
👍6
Как React-компилятор работает с реальным кодом
В статье рассматривается влияние React-компилятора на производительность приложений. Автор анализирует, как компилятор улучшает начальную загрузку и взаимодействие с приложением, а также оценивает его эффективность в предотвращении избыточных повторных рендеров. Для этого проводятся тесты на реальном приложении с предоставлением количественных результатов.
👉 @sWebDev
В статье рассматривается влияние React-компилятора на производительность приложений. Автор анализирует, как компилятор улучшает начальную загрузку и взаимодействие с приложением, а также оценивает его эффективность в предотвращении избыточных повторных рендеров. Для этого проводятся тесты на реальном приложении с предоставлением количественных результатов.
👉 @sWebDev
🔥3
Unpoly
Фреймворк для асинхронного обновления частей страницы. Позволяет обновлять только нужные элементы DOM, избегая полной перезагрузки. Отлично подходит для серверно-рендерных приложений, ускоряет их работу, поддерживает управление историей браузера и оптимизирован для SEO.
👉 @sWebDev
Фреймворк для асинхронного обновления частей страницы. Позволяет обновлять только нужные элементы DOM, избегая полной перезагрузки. Отлично подходит для серверно-рендерных приложений, ускоряет их работу, поддерживает управление историей браузера и оптимизирован для SEO.
👉 @sWebDev
👍5
Назначение декоратора @SkipSelf()
Для чего используется декоратор
Забыли? Вернитесь к посту от06.01.2025 .
👉 @sWebDev
Для чего используется декоратор
@SkipSelf()?Забыли? Вернитесь к посту от
👉 @sWebDev
👍4
Для чего используется декоратор @SkipSelf()?
Anonymous Quiz
12%
Для поиска зависимости в глобальном инжекторе.
13%
Для создания нового экземпляра провайдера.
69%
Для пропуска текущего провайдера и использования родительского.
6%
Для оптимизации работы DI.
👍6