Ember Fontawesome только обрабатывает превращение <FaIcon>
компонентов в иконки SVG. Причина, по которой ваш пример не работает, в том, что fontawesome ничего не делает с тегом <span>
. Вам нужно сообщить fontawesome об этом элементе, чтобы получить искомое поведение.
Для этого вам нужно использовать метод dom-i2svg из fontawesome и передать его. ваш элемент, используя @ember/render-modifiers.
// app/components/layer-icon.js
import Component from '@glimmer/component';
import { dom } from '@fortawesome/fontawesome-svg-core';
import { next } from '@ember/runloop';
export default class LayerIconComponent extends Component {
scanDom(element) {
next(() => {
dom.i2svg({node: element});
});
}
}
//app/components/layer-icon.hbs
<span class="fa-layers fa-lg" {{did-insert this.scanDom}}>
<FaIcon @icon="circle" @size="3x" />
<span class="fa-layers-text fa-inverse" data-fa-transform="shrink-8">
27
</span>
</span>