在Attribute指令的给定示例中(即添加外观/行为的指令),我们在主机元素上设置了相当简单的样式。指令中的Angular2样式
import {Directive, ElementRef } from 'angular2/core';
@Directive({
selector: '[myHighlight]'
})
export class HighlightDirective {
constructor(element) {
element.nativeElement.style.backgroundColor = 'yellow';
}
static get parameters(){
return [[ElementRef]];
}
而不是设置样式,我可以使用样式吗?例如
@Directive({
selector: '[myHighlight]',
styles: [':host { background-color: yellow; }']
})
这似乎不适用于我?
我正在做一些稍微复杂的事情,这导致了相当数量的monolothic代码,设置了很多样式,使用AnimationBuilder等等。感觉对我来说,将它分成类和动画会更好在CSS中。
ViewEncapsulation =模拟/默认如果重要?
虽然已经过了一年,为后人的缘故,我加了下面的答案。它涉及使用组件作为指令,并更改默认的ViewEncapsulation。请参阅下面的答案。 - 干杯 –