Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将其他类名传递给angular2组件_Angular - Fatal编程技术网

将其他类名传递给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
的子级,但不适用于组件本身。它本质上必须是
。如果是这样的话,这可能就是你想要的。