Angular 7推荐的一种在不访问底层源代码的情况下操作DOM的方法

Angular 7推荐的一种在不访问底层源代码的情况下操作DOM的方法,angular,typescript,Angular,Typescript,我有一个第三方库,我无法控制修改源代码,我想在库生成的DOM元素中添加/删除css类 因为我没有访问源代码的权限,所以无法按照Angular建议的方式添加类。因此,我的问题是,推荐的方法是什么 例如,为了便于理解,在DOM上添加了以下内容: 我通过以下方法完成了我所需要的: 首先在我的组件的构造函数中注入ElementRef: 私有myElement:ElementRef 然后使用querySelector获取元素并添加我想要的类: const ele=this.myElement.native

我有一个第三方库,我无法控制修改源代码,我想在库生成的DOM元素中添加/删除css类

因为我没有访问源代码的权限,所以无法按照Angular建议的方式添加类。因此,我的问题是,推荐的方法是什么

例如,为了便于理解,在DOM上添加了以下内容:

我通过以下方法完成了我所需要的:

首先在我的组件的构造函数中注入ElementRef:

私有myElement:ElementRef 然后使用querySelector获取元素并添加我想要的类:

const ele=this.myElement.nativeElement.querySelector'.one'; ele.classList.add'two'; 在本例中,这将产生:

稍后,根据一些逻辑,我需要删除我添加的类:

    ele.classList.remove('two');

注意:我没有访问第三方代码的权限,如何按照angular建议的方式完成上述操作?

您可以在样式文件中使用::ng deep selector

::ng-deep <class-name> {
    <property>: <value>
}

关于::ng deep的更多信息

我还需要能够删除我添加的css类,这种方法将无法用于这种情况。
::ng-deep .one {
    color: blue;
}