当前位置:首页 > VUE

vue怎么实现文本代码实现

2026-01-14 01:43:33VUE

Vue 实现文本代码展示的方法

在 Vue 中展示代码文本通常需要结合语法高亮和格式化的功能,以下是几种常见的实现方式:

使用 <pre><code> 标签 通过 HTML 原生标签包裹代码文本,保留原始格式和缩进:

<template>
  <pre><code>{{ codeText }}</code></pre>
</template>
<script>
export default {
  data() {
    return {
      codeText: 'const message = "Hello Vue";\nconsole.log(message);'
    }
  }
}
</script>

结合语法高亮库(如 highlight.js) 安装 highlight.js 并注册为 Vue 全局组件或局部组件:

npm install highlight.js

在 Vue 中注册并使用:

import hljs from 'highlight.js';
import 'highlight.js/styles/github.css'; // 选择样式主题

Vue.directive('highlight', {
  inserted(el) {
    hljs.highlightBlock(el);
  }
});

模板中使用:

<pre v-highlight><code class="javascript">const foo = () => 'bar';</code></pre>

使用第三方 Vue 组件(如 vue-prism-editor) 安装组件库:

npm install vue-prism-editor prismjs

实现示例:

import { PrismEditor } from 'vue-prism-editor';
import 'vue-prism-editor/dist/prismeditor.min.css';

export default {
  components: { PrismEditor },
  data() {
    return {
      code: 'console.log("动态代码")'
    }
  }
}

模板调用:

<prism-editor v-model="code" language="js" line-numbers />

动态代码渲染的注意事项

当需要动态渲染用户输入的代码时,应避免直接使用 v-html 以防止 XSS 攻击。建议通过以下方式处理:

// 使用 DOMPurify 清理危险内容
import DOMPurify from 'dompurify';

const safeCode = DOMPurify.sanitize(userInputCode);

对于需要交互的代码编辑器场景,可集成 Monaco Editor(VS Code 同款引擎):

npm install monaco-editor

封装组件示例:

import * as monaco from 'monaco-editor';

export default {
  mounted() {
    this.editor = monaco.editor.create(
      this.$refs.editorContainer,
      {
        value: this.code,
        language: 'javascript'
      }
    );
  }
}

vue怎么实现文本代码实现

标签: 文本代码
分享给朋友:

相关文章

vue实现复制文本

vue实现复制文本

实现复制文本的方法 在Vue中实现复制文本功能可以通过以下几种方式实现,每种方法适用于不同的场景。 使用原生JavaScript的execCommand方法 虽然execCommand方法已逐渐被弃…

vue本地查询代码实现

vue本地查询代码实现

Vue 本地查询代码实现 在Vue中实现本地查询功能,可以通过以下几种方式实现,具体取决于数据源和查询需求。 使用计算属性进行本地查询 计算属性是Vue中处理响应式数据查询的高效方式,适合基于现有…

vue实现通讯录代码

vue实现通讯录代码

实现思路 Vue实现通讯录的核心在于数据管理和组件交互。通常需要包含联系人列表、搜索功能、分组索引以及添加/编辑功能。 基本结构 创建Vue组件时需包含以下部分: 数据模型:存储联系人数组 字…

vue扫码登录代码实现

vue扫码登录代码实现

Vue 扫码登录实现方案 准备工作 确保项目已安装 Vue 2/3 及相关依赖,需要后端提供生成二维码和验证扫码状态的接口。 生成二维码 使用 qrcode 库生成登录二维码,需调用后端接口获取唯…

如何生成react代码

如何生成react代码

使用 Create React App 生成项目 安装 Node.js 后,通过命令行工具运行以下命令创建新项目: npx create-react-app my-app cd my-app npm…

h5实现响应式代码

h5实现响应式代码

响应式设计基础 HTML5实现响应式设计主要通过媒体查询(Media Queries)、弹性布局(Flexbox)、网格布局(Grid)和视口设置(Viewport Meta Tag)等技术。核心目标…