当前位置:首页 > VUE

vue实现代码块

2026-02-24 06:23:28VUE

在Vue中实现代码块

使用<pre><code>标签

在Vue模板中可以直接使用HTML的<pre><code>标签来包裹代码内容。这种方式简单直接,适合静态代码展示。

<template>
  <pre><code>
    function helloWorld() {
      console.log('Hello, World!');
    }
  </code></pre>
</template>

使用第三方库highlight.js

highlight.js是一个流行的代码高亮库,支持多种编程语言。通过Vue的指令或组件可以方便地集成。

安装highlight.js

npm install highlight.js

在Vue组件中使用:

<template>
  <pre v-highlightjs><code class="javascript">
    function helloWorld() {
      console.log('Hello, World!');
    }
  </code></pre>
</template>

<script>
import hljs from 'highlight.js';
import 'highlight.js/styles/github.css';

export default {
  directives: {
    highlightjs(el) {
      hljs.highlightElement(el);
    }
  }
};
</script>

使用prismjs

prismjs是另一个强大的代码高亮库,支持更多自定义选项。

安装prismjs

npm install prismjs

在Vue组件中使用:

<template>
  <pre><code class="language-javascript">
    function helloWorld() {
      console.log('Hello, World!');
    }
  </code></pre>
</template>

<script>
import Prism from 'prismjs';
import 'prismjs/themes/prism.css';

export default {
  mounted() {
    Prism.highlightAll();
  }
};
</script>

动态代码块

如果需要动态渲染代码块,可以通过Vue的v-forv-if指令结合上述方法实现。

<template>
  <div>
    <pre v-for="(code, index) in codeBlocks" :key="index">
      <code class="language-javascript">{{ code }}</code>
    </pre>
  </div>
</template>

<script>
export default {
  data() {
    return {
      codeBlocks: [
        'function hello() { console.log("Hello"); }',
        'function world() { console.log("World"); }'
      ]
    };
  }
};
</script>

使用Vue插件vue-code-highlight

vue-code-highlight是一个专门为Vue设计的代码高亮插件,简化了集成过程。

安装插件:

npm install vue-code-highlight

在Vue中使用:

<template>
  <vue-code-highlight language="javascript">
    function helloWorld() {
      console.log('Hello, World!');
    }
  </vue-code-highlight>
</template>

<script>
import VueCodeHighlight from 'vue-code-highlight';

export default {
  components: {
    VueCodeHighlight
  }
};
</script>

以上方法可以根据具体需求选择,静态内容推荐使用<pre><code>标签,动态或复杂场景推荐使用highlight.jsprismjs

vue实现代码块

标签: 代码vue
分享给朋友:

相关文章

vue实现弹窗可切换

vue实现弹窗可切换

实现弹窗可切换的 Vue 方案 动态组件切换 通过 Vue 的 <component :is="currentComponent"> 动态加载不同弹窗组件,结合 v-if 控制显示状态。…

vue实现密码框的包

vue实现密码框的包

Vue 密码框实现方案 在 Vue 中实现密码框功能,可以通过原生 HTML 结合 Vue 指令或使用第三方组件库完成。以下是几种常见方案: 原生 HTML + Vue 双向绑定 <temp…

vue  select实现

vue select实现

Vue Select 实现方法 在 Vue 中实现下拉选择功能可以使用原生 <select> 标签或第三方库如 vue-select。以下是两种方法的详细说明: 原生 HTML Sele…

vue实现递归

vue实现递归

Vue 实现递归组件的方法 在 Vue 中实现递归组件通常用于处理树形结构数据(如菜单、评论列表、文件目录等)。以下是具体实现方法: 定义递归组件 通过 name 选项让组件可以递归调用自身:…

vue 实现挂载

vue 实现挂载

Vue 实现挂载的基本方法 在 Vue 中,挂载是将 Vue 实例与 DOM 元素关联的过程。通过挂载,Vue 可以管理 DOM 并实现数据绑定和响应式更新。 创建 Vue 实例并挂载 con…

vue 实现过滤

vue 实现过滤

Vue 实现过滤的方法 在 Vue 中实现过滤功能可以通过多种方式完成,包括使用计算属性、自定义过滤器、第三方库等。以下是几种常见的实现方法: 使用计算属性进行过滤 计算属性是 Vue 中最常用的过…