Este es mi componente principal:
<script> import ObjOne from './ObjOne.svelte' </script> <svg width="182px" height="146px" viewBox="0 0 182 146"> <ObjOne></ObjOne> </svg>Y este es ObjOne:
<script> let html = '<polygon id="Path" fill="#999999" points="109.9999 146.25 109.9999 98.75 182.4999 98.75 182.4999 146.25" />' </script> {@html html} El polígono no se procesa, a menos que coloque el <polygon> directamente en el cuerpo del componente, como puede ver en el REPL. ¿Hay algún trabajo alrededor? Necesito insertar dinámicamente elementos en un <svg> . Probé con las propiedades version y xmlns en <svg> pero no funcionó.
REEMPLAZO: https://svelte.dev/repl/14b354d830184a8d994cae6d223e4c85?version=3.49.0
Este es un problema conocido con la forma en que @html genera elementos en SVG. En este caso, el compilador no tiene suficiente contexto para saber que se supone que el elemento es un elemento SVG, por lo que terminará con el espacio de nombres incorrecto (HTML).
Como solución alternativa, podría agregar un grupo ficticio:
<g>{@html html}</g>