Я нашел, почему это не применяется. Это связано с компонентом области действия.
foo-label
был обернут foo-tag
следующим образом:
<foo-tag _ngcontent-han-c14="" _nghost-han-c13="" ng-reflect-label="test" ng-reflect-hlevel="1">
<h1 _ngcontent-han-c13="">
<foo-label _ngcontent-han-c13="" _nghost-han-c12="" ng-reflect-label="test">
<span _ngcontent-han-c12="">test</span>
</foo-label>
</h1>
</foo-tag>
И стиль был написан в tag.component.scss
. как это:
tag.component.s css
:host{
> h1 {
> foo-label { //<--applied css until here !
> span {
...
}
}
}
}
Вы можете исправить с помощью ::ng-deep
вот так:
:host{
> h1 {
::ng-deep > foo-label {
> span {
...
}
}
}
}
Работает с миксином так же, как это:
:host{
> h1 {
@include h($light-color, $title-header-size, $application-toolbar-icon-size);
}
}
@mixin h($text-color, $font-size, $size-img){
margin-top: 0;
margin-bottom: 0;
flex-shrink: 0;
white-space: nowrap;
::ng-deep > foo-label {
@include label($text-color, $font-size, $size-img);
}
}