- 使用v-html指令
Vue中的v-html指令可以将数据中的HTML代码渲染成网页中的样式。我们可以将获取到的带有HTML标签的数据通过v-html指令插入到页面中对应的元素中,如下所示:
<template>
<div v-html="htmlContent"></div>
</template>
在上述代码中,我们使用一个div元素来展示带有HTML标签的内容。通过v-html指令,将定义好的数据(htmlContent)插入到该元素中。
- 手动解析html字符串
另一种方法是使用第三方库将带有HTML标签的字符串内容解析成DOM元素,然后再插入到页面中。我们可以使用"DOMPurify"这个库来实现。其代码可参考如下:
<template>
<div ref="htmlContainer"></div>
</template>
<script>
import DOMPurify from "dompurify";
export default {
data() {
return {
htmlContent: "<h1>Hello World!</h1><p>This is the content with <strong>bold</strong> and <em>italic</em> formatting</p>"
};
},
mounted() {
const container = this.$refs.htmlContainer;
// 解析HTML字符串并在相应元素中插入DOM输出
container.innerHTML = DOMPurify.sanitize(this.htmlContent);
}
};
</script>
在上述代码中,我们首先定义好需要展示的htmlContent内容。然后在mounted阶段,获取到对应的元素容器(this.$refs.htmlContainer),并通过dompurify库将htmlContent字符串内容解析成对应的DOM节点并插入到该元素容器中。
以上两种方法均可实现将数据库中带有HTML标签的内容输出到网页上,且都不会对HTML代码进行转换或者过滤,以保证输出的内容不会丢失任何重要的标签或内容。需要注意的是,在将字符串内容插入到页面中之前,一定要确保其来源可信任,以避免可能的XSS攻击。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML)) - Python技术站