ng-deep воздействует на родственные компоненты - PullRequest
2 голосов
/ 07 мая 2019

Я столкнулся с проблемой с использованием Angular Material Design, где мне нужно было использовать ng-deep, чтобы настроить стиль аккордеона. Тем не менее, я использую аккордеон в другом месте, и он использует те же стили. Это не желательно.

Это должно сделать это? Как мне это исправить?

Ответы [ 2 ]

2 голосов
/ 07 мая 2019

ng-deep устарела, и поддержка удаляется из основных браузеров. Вы можете прочитать больше об этом в Angular Docs .

Я бы предложил вам вместо этого удалить инкапсуляцию вида из компонента (None удаляет инкапсуляцию стилей для этого компонента, чтобы можно было ориентироваться на стили углового материала).

import { ViewEncapsulation } from '@angular/core';

@Component({
    selector: 'app-example-component',
    templateUrl: './example.component.html',
    styleUrls: ['./example.component.scss'],
    encapsulation: ViewEncapsulation.None
})
1 голос
/ 07 мая 2019

Я обнаружил, что для того, чтобы стили были ограничены компонентом, мне пришлось инкапсулировать код :: ng-deep с помощью: host следующим образом:

:host {
    ::ng-deep {
        /* ... custom styles here */
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...