我正在尝试创建一个包装img标记的组件,以抽象出一个svg库。该组件如下所示:
<app-glyphicon glyph="plus"></app-glyphicon>
import { Component, Input } from '@angular/core';
@Component({
selector: 'app-glyphicon',
template: '<img [src]="src"/>'
})
export class GlyphiconComponent {
public src = ''
@Input() set glyph(value) {
this.src = `https://glyphiconsource.com/${value}.svg`;
}
}
问题在于,<img />
元素具有本机行为,例如height
,width
等,宿主元素会将其屏蔽(因为它包装了)。我可以使用Input()
传递那些,但是传递CSS类之类的其他东西不起作用。
由于无法直接扩展<img>
元素,如何最好地将标记包装在自定义元素中