Hello! 欢迎来到小浪资源网!

Vue中v-html指令与模板直接渲染SVG时有何差异?


Vue中v-html指令与模板直接渲染SVG时有何差异?

相同 html 代码在 v-html 和模板中的渲染差异

vue 中使用

标签时,html 代码可以通过直接写在模板中,或者使用 v-html 指令渲染。然而,在某些情况下,这两种方式的渲染结果可能会出现差异。

具体来说,示例中给出的 html 代码包含一个 svg 元素,其中使用了 viewbox 属性。在直接写在模板中的情况下,该属性被正确识别并渲染。但是,在使用 v-html 指令时,该属性却无法被正确识别,导致 svg 元素无法正常渲染。

解决方法

要解决这种差异,需要对 vue 模板中 svg 的 viewbox 属性进行修改,将其从 viewbox 修改为 viewbox。

立即学习前端免费学习笔记(深入)”;

修改后的 html 代码如下:

<svg width="24" height="24" viewBox="0 0 24 24">   <!-- SVG 内容 --> </svg>

通过进行这个修改,vue 模板中的 svg 元素即可与直接写在模板中的 svg 元素一致渲染。这种差异的产生可能是由于 vue 对 html 代码的解析方式不同所造成的。

相关阅读