我不知道如何在组件的模板html(component.html)中添加动态class属性到<component></component>
标签中。
我找到的唯一解决方案是通过“ElementRef”本机元素修改项目。但这个解决方案似乎有些复杂,做起来应该很简单。
另一个问题是CSS必须在组件范围之外定义,打破了组件封装性。
是否有更简单的解决方案?像<root [class]="..."> .... </ root>
这样在模板中。
我不知道如何在组件的模板html(component.html)中添加动态class属性到<component></component>
标签中。
我找到的唯一解决方案是通过“ElementRef”本机元素修改项目。但这个解决方案似乎有些复杂,做起来应该很简单。
另一个问题是CSS必须在组件范围之外定义,打破了组件封装性。
是否有更简单的解决方案?像<root [class]="..."> .... </ root>
这样在模板中。
这是我是如何做到的(Angular 7):
在组件中,添加一个输入:
@Input() componentClass: string = '';
然后在组件的 HTML 模板中添加类似以下内容:
<div [ngClass]="componentClass">...</div>
最后,在实例化组件的 HTML 模板中:
<root componentClass="someclass someotherclass">...</root>
声明:我对Angular还比较新,所以可能只是碰巧做对了!
<root>
标签的元素,而不是您添加到元素模板中的任何内容。 - millimoose