Vue crea un área Ts para mostrar el código

Deja las tonterías, el código clave: paquetes dependientes: highlight.js, prismjs, vue-prism-editor

<template>
  <div>
    <img alt="Vue logo" src="../assets/logo.png" />
    <prism-editor class="my-editor" v-model="code" :highlight="highlighter" line-numbers></prism-editor>
  </div>
</template>
<script lang="ts">
import "highlight.js/styles/atom-one-dark.css";
import {
    
     PrismEditor } from "vue-prism-editor";
import "vue-prism-editor/dist/prismeditor.min.css";
//@ts-ignore
import {
    
     highlight, languages } from "prismjs/components/prism-core";
import "prismjs/components/prism-clike";
import "prismjs/components/prism-javascript";
import "prismjs/themes/prism-tomorrow.css";
export default {
    
    
  components: {
    
    
    PrismEditor,
  },
  data() {
    
    
    return {
    
    
      code: "",
    };
  },
  created() {
    
    
    //@ts-ignore
    this.code = `async fucntion post(url: string, query: string) {
  return fetch(url, {
      method: "post",
      headers: {
          "Content-type": "application/json",
      },
      body: JSON.stringify({ query }),
  }).then((response) => response.json());
}`;
  },
  methods: {
    
    
    highlighter(code: string) {
    
    
      return highlight(code, languages.js);
    },
  },
};
</script>
<style scoped lang="scss">
.my-editor {
    
    
  background: #2d2d2d;
  color: #ccc;
  font-family: Fira code, Fira Mono, Consolas, Menlo, Courier, monospace;
  font-size: 14px;
  line-height: 1.5;
  padding: 5px;
}
.prism-editor__textarea:focus {
    
    
  outline: none;
}
</style>

Efecto:
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/kuilaurence/article/details/129404833
Recomendado
Clasificación