Javascript 如何根据Angular 2中的组件有条件地添加样式表?

Javascript 如何根据Angular 2中的组件有条件地添加样式表?,javascript,angular,angular2-template,Javascript,Angular,Angular2 Template,我有一个带有样式URL的组件 默认情况下不显示此组件,因为我有一个*ngIf 如果为true,则该组件将显示在带有CSS的页面中。CSS将自动添加到文档 如果为false,则不再显示该组件,但其CSS仍在页面中内 当组件本身未显示时,如何从中删除此CSS?您可以使用*ngIf='your\u component\u ROUTE'==this\u ROUTE'在index.html上使用条件样式表。不确定是否将加载样式表。 您可以像这样设置条件CSS类: <element NgStyle={

我有一个带有
样式URL
的组件

默认情况下不显示此组件,因为我有一个
*ngIf

如果为true,则该组件将显示在带有CSS的页面中。CSS将自动添加到文档

如果为false,则不再显示该组件,但其CSS仍在页面中


当组件本身未显示时,如何从
中删除此CSS?

您可以使用
*ngIf='your\u component\u ROUTE'==this\u ROUTE'在index.html上使用条件样式表。不确定是否将加载样式表。

您可以像这样设置条件CSS类:

<element NgStyle={condition? true: false} > </element>

例如:

<element NgStyle={isNew ? 'new' : 'default' } > </element>


如果您有任何其他问题,请告诉我。

我想在我的组件之外添加一些CSS,如根组件之外的“body”或“html”。我认为可能有一个更优雅的解决方案来解决您在这里提出的问题。。我只是需要更多的信息来处理你真正想要完成的事情耶!我的根组件中有一个名为Popup的组件。弹出组件的CSS不在加载页面,因为该组件不显示。一旦弹出组件显示出来,CSS也会显示出来。但是当弹出窗口不再显示时,CSS仍然保留。在CSS中,我有so属性,可以更改的CSS为(根组件外部和弹出组件外部)和#头(根组件内部但弹出组件外部)。如果不通过id获取元素访问DOM,我怎么做?ThanksI需要查看PLUNKR或您的项目结构。您的体系结构可能不协调,或者您的方法不符合最佳实践,并且可能会在将来导致更多类似的瓶颈。