Potoki

Każda aplikacja ma w zasadzie to samo proste zadanie - pobrać i wyświetlić dane. W toku prac zauważamy, że dokonujemy często tych samych transformacji pewnych danych. Idealnym rozwiązaniem byłoby dodawanie tych transformacji w HTML-u podobnie jak dodajemy style.

Z pomocą przychodzą nam potoki (ang. pipes).

podstawy

Aby skorzystać z potoku używamy notacji jaką możemy znać między innymi z systemu Linux.

{{ beer.name | uppercase }}

Dodatkowe parametry potoku umieszczamy po znaku :.

{{ beer.name | slice: 10 }}

Możemy również łączyć ze sobą potoki.

{{ beer.name | slice: 10 | uppercase }}

wbudowane potoki

Angular ma zbiór wbudowanych potoków dostępnych w każdym szablonie.

Oto kilka z nich:

Tworzenie potoków

Oczywiście mamy również możliwość tworzenia swoich własnych potoków.

Potok jest to klasa posiadająca dekorator @Pipe(), do którego przekazujemy jego metadane - najważniejsza jest nazwa.

@Pipe({name: 'cutWords'})
export class CutWordsPipe {}

Drugą istotną kwestią jest implementacja interfejsu PipeTransform.

export class CutWordsPipe implements PipeTransform {

  transform(value: string, length: number): string {
    // ...
    return value;
  }

}

- - -

Zdefiniujemy potok służący do przycinania napisów do wskazanej długości ale bez rozcinania słów. Następnie wykorzystamy go na widoku listy piw do przycinania opisów do maksymalnie 80 znaków.

Przykłady: cut-words.pipe.ts, shared/beers-list.component.html v27


Źródła

results matching ""

    No results matching ""