在 UniApp 中使用 innerHTML 功能,可以通过 v-html 指令实现,它用于渲染 HTML 内容。以下是详细说明和示例:
使用方法
- 在模板中使用 v-html:将 HTML 字符串绑定到元素上。
- 数据定义:在 Vue 实例的 data中定义 HTML 字符串。
- 注意事项:v-html会忽略元素内的原有内容,仅渲染绑定的 HTML。
示例代码
<template>
  <view>
    <!-- 使用 v-html 渲染 HTML 内容 -->
    <view v-html="htmlContent"></view>
  </view>
</template>
<script>
export default {
  data() {
    return {
      htmlContent: '<p style="color: red;">这是一段红色文本</p><strong>加粗内容</strong>'
    };
  }
};
</script>
注意事项
- 安全性:避免直接渲染用户输入的 HTML,以防 XSS 攻击。如果需要,先对内容进行过滤或转义。
- 样式兼容性:UniApp 中部分 CSS 样式可能受平台限制(如小程序环境),需测试目标平台的兼容性。
- 组件限制:某些 UniApp 组件(如 text)不支持v-html,建议在view或div元素中使用。
替代方案
如果需动态渲染复杂内容,可结合 rich-text 组件(小程序平台适用),但语法与 v-html 不同。
通过以上方法,即可在 UniApp 中安全、高效地使用 HTML 内容渲染。