我有这个代码在主机上设置一个类:
@HostBinding('class.fixed') true;
Run Code Online (Sandbox Code Playgroud)
我想做的是让它成为一个我可以修改的变量类.我怎样才能做到这一点?
在给定的属性指令示例(即添加外观/行为的指令)中,我们在主机元素上设置了一个相当简单的样式.例如
import {Directive, ElementRef } from 'angular2/core';
@Directive({
selector: '[myHighlight]'
})
export class HighlightDirective {
constructor(element) {
element.nativeElement.style.backgroundColor = 'yellow';
}
static get parameters(){
return [[ElementRef]];
}
Run Code Online (Sandbox Code Playgroud)
而不是设置样式,我可以使用样式吗?例如
@Directive({
selector: '[myHighlight]',
styles: [':host { background-color: yellow; }']
})
Run Code Online (Sandbox Code Playgroud)
这似乎对我不起作用?
我正在做一些稍微复杂的事情,这导致了相当数量的蒙特哥特代码,设置了很多样式,使用了AnimationBuilder等等.对我来说感觉就像把它分成CSS中的类和动画要好得多.
ViewEncapsulation =模拟/默认是否重要?
我目前正在学习Angular 2.我了解如何使用Angular Renderer设置一个ElementStyle,但现在我想使用该Renderer方法:
setElementClass(renderElement: any, className: string, isAdd: boolean) : void
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将CSS类导入到我的属性指令中?我必须将我的CSS类转换为JSON吗?