我不知道如何爲組件中的ngOnInit中的host {}設置css樣式。 可以使用Renderer來設置?Angular設置css樣式爲:ngOnInit中的主機
實施例:APP-組件的主機中時由ngFor渲染:
<app-a *ngFor ="let a in alist" [a] = "a"></app-a>
在ngOnInit APP-A I想由百分之設定寬度高度風格?
我可以做到嗎?
很多謝謝。
我不知道如何爲組件中的ngOnInit中的host {}設置css樣式。 可以使用Renderer來設置?Angular設置css樣式爲:ngOnInit中的主機
實施例:APP-組件的主機中時由ngFor渲染:
<app-a *ngFor ="let a in alist" [a] = "a"></app-a>
在ngOnInit APP-A I想由百分之設定寬度高度風格?
我可以做到嗎?
很多謝謝。
你通常在組件裝飾設置樣式聲明方式:
@Component({
styles: [':host { display: block; }']
});
export class AppComponent {}
但如果你真的需要做的是從ngOnInit
,可以插入主機元素,並使用渲染:
export class AppComponent {
constructor(private host: ElementRef, private renderer: Renderer2) { }
ngOnInit() {
this.renderer.setStyle(this.host.nativeElement, 'display', 'block');
}
感謝您的幫助,先生:)。 – BaoBao
@寶寶,不客氣) –
您還可以使用@HostBinding
裝飾,如:
import { Component, HostBinding } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: `./app.component.html`
})
export class AppComponent {
@HostBinding('style.display') display: string;
@HostBinding('style.width.%') width: number;
@HostBinding('style.height.px') height: number;
ngOnInit() {
this.display = 'block';
this.width = 50;
this.height = 500;
}
}
謝謝你的幫忙先生:)。 – BaoBao
請提供您當前場景的一些代碼示例,因爲這可以通過多種方式實現 –
通常您不會強制設置樣式。將樣式添加到'@Component({styles:[...],styleUrls:[...]})''。您可以在'ngOnInit()'中設置/刪除類或屬性,根據這些類或屬性使樣式的不同部分適用。 –