как отобразить значок svg в nuxt 3

Я использую nuxt 3 и Compositions API. У меня получается такая вложенность как на скрине ниже, как избавиться от лишнего тега svg? Я также хотел бы получить атрибуты svg по возможности и изменить, например fill

<template>
  <div>
    <component :is="render"></component>
  </div>
</template>

Sctipt Setup

import { h } from "vue";

const { data, pending, error, refresh } = await useFetch(svgURL);

const getDataVal = data.value
const SvgToRaw = await getDataVal.text();

const render = () => {
  return h("svg", {
    class: "bar",
    innerHTML: SvgToRaw,
  });
};

Chrome Dev Tools

Я пытался создать виртуальное дерево DOM и получить оттуда элемент HTML, а не текст, но я думаю, что это плохое решение.

import hv from "virtual-dom/h";
import diff from "virtual-dom/diff";
import patch from "virtual-dom/patch";
import createElement from "virtual-dom/create-element";

const betaRender = hv("span", { innerHTML: svgString });
var rootNode = createElement(betaRender);
var patches = diff(rootNode);
return patches[0].vNode.innerHTML

Поддержка SSR важна для меня, поэтому я не могу использовать стандартные инструменты


Ответы (0 шт):