2

是否可以注入作为子 svg 元素的动态组件?

例如,我有一个主要组件 (CanvasComponent) ,它的模板是这样的

<svg width="400" height="400">
 <ng-template appCanvasAnchor></ng-template>
</svg>

该 ng-template 是用于根据https://angular.io/guide/dynamic-component-loader动态注入组件的锚

动态(SquareComponent)有这个模板

<svg:rect width="100" height="100" style="fill:red" />

现在,由于动态组件添加到 DOM 的方式,当我的 Square 组件添加 DOM 时,它将包含在 div 元素中,如下所示。

<svg width="400" height="400">
  <div app-square>
   <rect width="100" height="100" style="fill:red" />
 </div>
</svg>

理论上一切都很好,除了这是 SVG,因此我的正方形不会渲染,因为它有未知的标记(div)。这里的问题是,我能否以某种方式更改注入器使用的元素,以便它使用和 svg 知道像 g 这样的元素,而不是使用 div?

4

0 回答 0