Angular: Jak ustawić dynamiczną wartość atrybutowi elementu HTML?

Opublikowano: 09.09.2021 - tagi: Angular JavaScript

Od już dłuższego czasu, w pracy spędzam czas na implementacji szeroko pojętej dostępności(ang.: accessibility). Ostatnio musiałem dla atrybutu aria-label ustawić wartość, która jest zmienna. Napisałem sobie prostą funkcję, która zwraca wartość dla tego atrybutu.

Tylko nie mogłem tego podpiąć, w taki sposób:

<button aria-label="{{ getAriaLabel() }}">...

Ponieważ przy kompilacji otrzymałem taki błąd: Can't bind to 'aria-label' since it isn't a known property of 'button'

Jeśli wartość atrybutu jest dynamiczna należy posłużyć się zapisem:

<button attr.aria-label="{{ getAriaLabel() }}">...

Przedrostek attr. załatwia sprawę. To się odnosi oczywiście do wszystkich atrybutów.