私はAgular2でアプリケーションを作成しています。一部のコンポーネントでは、親クラスにスタイルクラスを追加できます。このようなもの:
子コンポーネント。Angular2 styleUrls配列にスタイルを動的に追加します。
@Component({
selector: 'app-label-value',
templateUrl: './label-value.component.html',
styleUrls: ['./label-value.component.css']
})
export class LabelValueComponent implements OnInit {
@Input() label: string;
@Input() value: string;
@Input() valueClass: string;
@Input() labelClass: string;
@Input() cssFile: string;
getLabelClasses(){
let classList = 'label-value-label '
if (this.labelClass){
classList += this.labelClass;
}
return classList;
}
子テンプレート:親テンプレート内
<div [ngClass]="getLabelClasses()">
{{label}}
</div>
。
<app-label-value
[label]="'Just text'"
[value]="'some text'"
[labelClass]="'label-color standard-text'"
[cssFile]="'./app.component.css'">
</app-label-value>
これは機能しません。 divはlabel-value-label label-color standard-text
クラスを取得しますが、./app.component.css
クラスファイルからロードされないため、表示されません。
子コンポーネントは、何とかstyleUrls
配列への./app.component.css
パスを見つけて追加する必要があります。または、コンポーネントにクラスファイルを探す場所を伝える他の方法。しかし、私はそれをどうやって(たとえそれが可能であっても)理解できないようです。
おそらくクラスが請求されていません。試してみることができます:>>>あなたのクラスの前にCSSファイルで>>>? – Wandrille
label-value-label label-color standard-texをstyles.cssファイルに入れたら、それは機能していますか? – Wandrille
label-value-label label-color標準テキストを./label-value.component.cssに置くことは明らかです。しかし、私は親が子供に自分自身の(または他の)cssファイルを与えることを許可したい。 – AvailableName