【发布时间】:2017-10-02 19:24:33
【问题描述】:
我正在用 Agular2 编写一个应用程序,我们的一些组件允许父级添加样式类。像这样:
子组件。
@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 类文件中加载的(因此不显示)。
子组件需要以某种方式找到./app.component.css 路径并将其添加到styleUrls 数组。或者告诉组件在哪里寻找类文件的其他方法。但我似乎不知道该怎么做(或者即使有可能)。
【问题讨论】:
-
可能是课程不收费。您可以尝试:>>> 在 css 文件中的类前面吗?
-
如果你把label-value-label label-color standard-tex放到styles.css文件中,是否有效?
-
显然,将 label-value-label label-color 标准文本放入 ./label-value.component.css 是可行的。但我想让父母给孩子自己(或任何其他)css文件。