この方法では、コンポーネントの外側に CSS を追加する必要はありません。
@Component({
selector: 'body',
template: 'app-element',
// prefer decorators (see below)
// host: {'[class.someClass]':'someField'}
})
export class App implements OnInit {
constructor(private cdRef:ChangeDetectorRef) {}
someField: boolean = false;
// alternatively also the host parameter in the @Component()` decorator can be used
@HostBinding('class.someClass') someField: boolean = false;
ngOnInit() {
this.someField = true; // set class `someClass` on `<body>`
//this.cdRef.detectChanges();
}
}
プランカーの例
この CSS はコンポーネント内で定義され、クラスsomeClass
が (外部から) ホスト要素に設定されている場合にのみセレクターが適用されます。
:host(.someClass) {
background-color: red;
}