Я думаю, что у вас должно быть два компонента с двумя отдельными каталогами, и он должен иметь файлы html, ts, css.
Так что в html родительского компонента вы будете ссылаться на дочерний компонент -
parent.component.html ->
<app-child> </app-child>
В дочернем компоненте должны быть файлы - child.component.html, child.component.ts, child.component.css.
Есливы создаете и добавляете любые подобные стили, такие как файл parent.component.css, в child.component.css, после чего они добавляются к каждому компоненту, например p[random_atttr_value]
, поэтому теперь у вас будут отдельные стили для дочернего элемента p.
Это стандартное поведение angular, входит в инкапсуляцию вида.Используется в angular-подобной технологии тени DOM, которая поддерживается не всеми браузерами, но angular делает это следующим образом.
Другими словами, он добавляет некоторые атрибуты к каждому компоненту, отображаемому в браузере.
ViewEncapsulation имеет 3 параметра -
encapsulation: ViewEncapsulation.None,
ViewEncapsulation.Emulated, (-- this is default)
ViewEncapsulation.Native (-- only applies to browsers with shadow DOM technology)<br>
Надеюсь, это поможет вам решить вашу проблему.