将其他类名传递给angular2组件
我有一个可重用组件将其他类名传递给angular2组件,angular,Angular,我有一个可重用组件ModalComponent,它已经通过以下方式附加了类名。Modal: @HostBinding('attr.class') className = `Modal`; 我知道我们可以通过输入来传递数据,从而实现以下功能: @Input() additionalClass; 但这并不像预期的那样有效: @HostBinding('attr.class') className = this.additionalClass ? `Modal ${this.additionalC
ModalComponent
,它已经通过以下方式附加了类名。Modal
:
@HostBinding('attr.class') className = `Modal`;
我知道我们可以通过输入来传递数据,从而实现以下功能:
@Input() additionalClass;
但这并不像预期的那样有效:
@HostBinding('attr.class') className = this.additionalClass ? `Modal ${this.additionalClass}` : 'Modal';
向Angular2组件传递附加类名的最佳方法是什么
编辑:
我已经提出了这个解决方案,但是,考虑到问题的性质,它似乎相当密集。有人能确认这是实现这一目标的正确方法吗
@Input() className: string;
@HostBinding('class') extraClasses;
@HostBinding('class.Modal') baseClass;
constructor() {
this.baseClass = true;
}
ngOnInit() {
this.extraClasses = this.className;
}
您可以这样设置,这样div将始终具有类模式,如果提供了“附加类”,它也将显示为类,否则div将仅具有类“模式”。虽然这适用于模板中
ModalComponent
的子级,但不适用于组件本身。它本质上必须是
。如果是这样的话,这可能就是你想要的。