要通过组件将动态SVG插入DOM,可以使用Angular的Renderer2类来操作DOM。以下是一个示例解决方法:
import { Component, ElementRef, Renderer2, ViewChild, OnInit } from '@angular/core';
@Component({
  selector: 'app-svg-component',
  template: '',
})
export class SVGComponent implements OnInit {
  @ViewChild('svgContainer', { static: true }) svgContainer: ElementRef;
  constructor(private renderer: Renderer2) {}
  ngOnInit() {
    // 创建SVG元素
    const svgElement = this.renderer.createElement('svg');
    this.renderer.setAttribute(svgElement, 'width', '200');
    this.renderer.setAttribute(svgElement, 'height', '200');
    
    // 创建一个圆形元素
    const circleElement = this.renderer.createElement('circle');
    this.renderer.setAttribute(circleElement, 'cx', '100');
    this.renderer.setAttribute(circleElement, 'cy', '100');
    this.renderer.setAttribute(circleElement, 'r', '50');
    this.renderer.setAttribute(circleElement, 'fill', 'blue');
    // 将圆形元素添加到SVG元素中
    this.renderer.appendChild(svgElement, circleElement);
    // 将SVG元素添加到DOM中
    this.renderer.appendChild(this.svgContainer.nativeElement, svgElement);
  }
}
 
这样就可以通过SVGComponent将动态SVG插入DOM中。在示例中,创建了一个SVG画布,并在画布上添加了一个蓝色圆形。你可以根据需要修改SVG元素的属性和样式。