Поиск по сайту
Ctrl + K
Вопросы по Angular

Что такое пайпы в Angular?

Пайпы (pipes) в Angular представляют собой мощный инструмент для трансформации данных в шаблонах. Они позволяют вам форматировать данные, такие как даты, валюты или даже изменять текст в нужном вам формате, без необходимости создания дополнительных функций в компонентах.

Пайпы могут быть встроенными (включены в Angular по умолчанию) или пользовательскими (созданы вами для решения специфических задач).

Использование встроенных пайпов

Angular предоставляет несколько встроенных пайпов, которые можно использовать. Например, рассмотрим пайп Date, который позволяет форматировать дату.

Пример:

// В компоненте
export class AppComponent {
  today: number = Date.now();
}
<!-- В шаблоне -->
<p>Текущая дата: {{ today | date:'fullDate' }}</p>

В этом коде {{ today | date:'fullDate' }} использует пайп date, чтобы отформатировать переменную today в полную дату, например, "понедельник, 17 марта 2025 г."

Вот некоторые другие примеры встроенных пайпов:

  • currency: используется для форматирования чисел как валюты.
  • decimal: форматирует число с заданным количеством десятичных знаков.
  • json: преобразует объект в строку формата JSON для отображения.

Пример с currency:

export class AppComponent {
  price: number = 123.45;
}
<p>Цена: {{ price | currency:'USD':'symbol' }}</p>

Это отобразит: "Цена: $123.45".

Создание пользовательского пайпа

Для создания пользовательского пайпа вам нужно использовать декоратор @Pipe и реализовать интерфейс PipeTransform. Например, давайте создадим пайп, который будет преобразовывать текст в верхний регистр.

Пример:

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'uppercase'
})
export class UppercasePipe implements PipeTransform {
  transform(value: string): string {
    return value.toUpperCase();
  }
}

Теперь вы можете использовать этот пайп в шаблонах:

<p>Текс в верхнем регистре: {{ 'привет, мир' | uppercase }}</p>

Этот код выведет: "Текс в верхнем регистре: ПРИВЕТ, МИР".

Заключение

Пайпы — это мощный инструмент в Angular, который помогает удобно и эффективно преобразовывать данные в шаблонах. Вы можете использовать встроенные пайпы или создавать собственные, что делает ваш код более чистым и легко читаемым. Изучение пайпов является важным шагом для повышения навыков разработчика Angular.