javascript - 如何在 Vuejs 中将 SVG 代码显示为图像?
问题描述
我有一个 API 会返回一个 SVG 图像作为 ASCII 文本代码。所以我有一个价值。我正在尝试将其显示为我的页面的一部分。它只是给了我一个空白图像。
这是我尝试的 JSFiddle:https ://jsfiddle.net/c0p4ku78/
代码的本质实际上是这样的:
<template>
<div id="app">
<svg>{{circle}}</svg>
</div>
</template>
<script>
export default {
name: "ImageShower",
data: () {
return {
circle: `<?xml version="1.0" encoding="iso-8859-1"?> ... `
}
},
}
</script>
在实际代码中,circle 来自一个 Web 服务,并没有硬编码到视图组件中。但它看起来或多或少就像这里缩写的那样。
如何将此 SVG 显示为图像?
解决方案
您可以使用v-html
指令渲染它:
<template>
<div id="app">
<div v-html="circle"></div>
</div>
</template>
<script>
export default {
name: "ImageShower",
data: () {
return {
circle: `<?xml version="1.0" encoding="iso-8859-1"?> ... `
}
},
}
</script>
推荐阅读
- mysql - 查询将所有内容连接到一行而不是单独的行
- angular - 如何在不显示输入字段的情况下显示角度日期选择器
- sorting - XSLT 3.0 中的日期排序
- firebase - Flutter 不应用带有整数的 firebase 过滤器
- html - 需要用列表编号创建标题
- security - 无法在 PHP 中获取会话
- reactjs - 反应原生无法找到带有testID的元素
- unity3d - 使用 [ Arduino + 蓝牙模块 (HC-05) ] 或 ESP32 连接 Unity 游戏
- python - 输出杂乱无章的分析:跳过消息
- php - How to show form fields while updating a record in Yii2