Angular 5 给组件本身的标签添加样式class
在Angular 5给组件本身的标签添加样式有两种方法:
方式一:使用@Component的host属性
@Component({
selector : 'myComponent',
host : {
'[style.color]' : "'red'",
'[style.background-color]' : 'backgroundColor'
}
})
class MyComponent {
backgroundColor: string;
constructor() {
this.backgroundColor = 'blue';
}
}
在host配置里添加属性,等同于标签上绑定属性的用法一样。
设置style:
- '[style.color]': "'red'":注意red值双引号里还有一个单引号。
- '[style.background-color]':'backgroundColor':这里是引用了组件里的变量backgroudColor。
这种方式的好处是可以在样式上使用组件的变量。
设置class:
@Component({
selector : 'myComponent',
host : {
'[class.myclass]' : 'showMyClass'
}
})
class MyComponent {
showMyClass = false;
constructor() {
}
toggleMyClass() {
this.showMyClass = !this.showMyClass;
}
}
方式二:在样式里使用:host选择器
@Component({
selector : 'myComponent',
styles : [`
:host {
color: red;
background-color: blue;
}
`]
})
class MyComponent {}