azovl
@azovl

Динамические классы в CSS и HTML используя Angular 9?

Многие видели вот такой код:
5e402d7ae6045140229548.png

где, вместо человеко-понятных классов, используется хеш.
Google к примеру пользуется этой техникой.

Вопросы:
Каким образом это осуществить используя Angular, чтобы классы были синхронизированы между html и scss?
  • Вопрос задан
  • 422 просмотра
Решения вопроса 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
При стандартных настройках ангуляр добавляет хтмл-элементам компонента свою метку, типа _nghost-lli-c18 или _ngcontent-rja-c18
Всем стилям компонента автоматически добавляется эта приписка, например в браузере будет выглядеть как
a[_ngcontent-rja-c18] {
    color: red;
}

В Ангуляре это зовется "инкапсуляция стилей", является дефолтным поведением и может быть выключено или изменено на использование ShadowDOM.
Таким образом стили компонента накладываются только на тэги в компоненте. Что-то там отдельно синхронизировать не нужно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
joeberetta
@joeberetta
Читай: https://epdf.pub/google-for-dummies.html
Ну вам и не надо это делать. Раз ангуляр собирает и подставляет динамические классы/ид тегам, то он и соберет стили для них. В данном случае используется css-in-js, который и дает возможность генерить крякозябры(названия классов). А если хотите задать элементу стиль с css-файла, то просто добавьте в хтмл соответственный класс вручную(ну по канонам ангуляр, естественно)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы