广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >vue3如何使用vue-codemirror插件
  • 651
分享到

vue3如何使用vue-codemirror插件

Vue3 2023-05-14 23:05:45 651人浏览 薄情痞子
摘要

可以在终端中安装对应文件, 解决问题npm i @codemirror/lang-javascript npm i @codemirror/theme-one-dark2.在需要的组件中配置<template> <

可以在终端中安装对应文件, 解决问题

npm i  @codemirror/lang-javascript
npm i  @codemirror/theme-one-dark

2.在需要的组件中配置

<template>
  <codemirror
    v-model="code"
    placeholder="Code Gose here..."
    :
    :autofocus="true"
    :indent-with-tab="true"
    :tabSize="2"
    :extensions="extensions"
    @ready="log('ready', $event)"
    @change="log('change', $event)"
    @focus="log('focus', $event)"
    @blur="log('blur', $event)"
  />
</template>

<script>
import { Codemirror } from "Vue-codemirror";
import { javascript } from "@codemirror/lang-javascript";
import { oneDark } from "@codemirror/theme-one-dark";

import { ref } from "vue";
export default {
  components: {
    Codemirror,
  },
  setup() {
    const code = ref(`console.log('Hello, world!')`);
    const extensions = [javascript(), oneDark];

    return {
      code,
      extensions,
      log: console.log,
    };
  },
};
</script>

配置说明:

vue3如何使用vue-codemirror插件

个人代码编辑区Demo

代码编辑区

支持代码编辑区, 满足白天/黑夜主题切换, 满足c++/python语言切换

不足, 没有满足代码提示

组件代码 vue3

<template>
  <button @click="changeTheme($event)">黑夜</button>
  <button @click="changeMode($event)">C++</button>

  <codemirror
    v-model="code"
    placeholder="Code gose here..."
    :
    :mode="mode"
    :spellcheck="spellcheck"
    :autofocus="autofocus"
    :indent-with-tab="indentWithTab"
    :tabSize="tabSize"
    :extensions="extensions"
    @ready="log('ready', $event)"
    @change="log('change', $event)"
    @focus="log('focus', $event)"
    @blur="useEditedCode"
  />
</template>

<script>
import { Codemirror } from "vue-codemirror";
import { Python } from "@codemirror/lang-python";
import { cpp } from "@codemirror/lang-cpp";

import { oneDark } from "@codemirror/theme-one-dark";
import "codemirror/addon/hint/show-hint.CSS";

import { Reactive, ref, toRefs } from "vue";

export default {
  components: {
    Codemirror,
  },
  setup() {
    // 数据
    const code = ref(``);
    let selectValue = "cpp";
    let dateTime = "黑夜";
    const options = reactive({
      style: { height: "400px" },
      mode: "text/x-c++src",
      spellcheck: true,
      autofocus: true,
      indentWithTab: true,
      tabSize: 2,
      extensions: [cpp(), oneDark], //传递给CodeMirror EditorState。创建({扩展})
    });

    // 方法
    // 失去焦点时,使用已编辑的代码
    function useEditedCode() {
      console.log("@@@blur@@@code:", code.value);
      console.log("@@@blur@@@cpp:", cpp);
    }

    // 改变主题
    function changeTheme(e) {
      console.log("options.extensions:", options.extensions);
      if (e.target.innerhtml === "黑夜") {
        options.extensions = [];
        dateTime = e.target.innerHTML = "白天";
      } else {
        options.extensions = [oneDark];
        dateTime = e.target.innerHTML = "黑夜";
      }
    }
    // 改变模式
    function changeMode(e) {
      console.log("selectValue:", selectValue);
      if (selectValue === "cpp") {
        if (dateTime === "黑夜") options.extensions = [python(), oneDark];
        else options.extensions = [python()];
        selectValue = "python";
        e.target.innerHTML = "python";
        options.mode = "text/x-python";
      } else {
        if (dateTime === "黑夜") options.extensions = [cpp(), oneDark];
        else options.extensions = [cpp()];
        selectValue = "cpp";
        e.target.innerHTML = "C++";
        options.mode = "text/x-c++src";
      }
    }
    // 返回
    return {
      code,
      selectValue,
      dateTime,
      ...toRefs(options),
      log: console.log,
      useEditedCode,
      changeTheme,
      changeMode,
    };
  },
};
</script>

vue3如何使用vue-codemirror插件

vue3如何使用vue-codemirror插件

vue3如何使用vue-codemirror插件

以上就是vue3如何使用vue-codemirror插件的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: vue3如何使用vue-codemirror插件

本文链接: https://www.lsjlt.com/news/208271.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3如何使用vue-codemirror插件
    可以在终端中安装对应文件, 解决问题npm i @codemirror/lang-javascript npm i @codemirror/theme-one-dark2.在需要的组件中配置<template> <...
    99+
    2023-05-14
    Vue3
  • vue3中怎么使用vue-codemirror插件
    本文小编为大家详细介绍“vue3中怎么使用vue-codemirror插件”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中怎么使用vue-codemirror插件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-06
  • 前端插件库之vue3使用vue-codemirror插件的步骤和实例
    目录使用1.命令行安装2.在需要的组件中配置配置说明:个人代码编辑区Demo总结vue-codemirror 基于 CodeMirror ,适用于 Vue 的 Web 代码编辑器。 ...
    99+
    2022-11-13
  • 如何使用vue codemirror插件实现代码编辑器功能
    本篇内容主要讲解“如何使用vue codemirror插件实现代码编辑器功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用vue codemirror插件实现代码编辑器功能”吧!1、使用...
    99+
    2023-07-04
  • vue中如何使用codemirror插件实现代码编辑器功能
    这篇文章主要介绍“vue中如何使用codemirror插件实现代码编辑器功能”,在日常操作中,相信很多人在vue中如何使用codemirror插件实现代码编辑器功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-20
  • 在vue项目中怎么使用codemirror插件实现代码编辑器功能
    这篇文章主要为大家展示了“在vue项目中怎么使用codemirror插件实现代码编辑器功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在vue项目中怎么使用c...
    99+
    2022-10-19
  • Vue插件如何使用
    这篇文章主要介绍了Vue插件如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Vue插件1、概述简单来说,插件就是指对Vue的功能的增强...
    99+
    2022-10-19
  • vue中如何使用vue-resource插件
    vue中如何使用vue-resource插件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在使用这个插件之前,当然是先安装啦:npm ...
    99+
    2022-10-19
  • Vue标尺插件如何使用
    本篇内容主要讲解“Vue标尺插件如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue标尺插件如何使用”吧!可根据高和宽度自适应,主要传值为宽度和距离零刻度的距离,代码和图片如下。<...
    99+
    2023-06-29
  • 怎么使用Vue3开发Fimga插件
    本篇内容介绍了“怎么使用Vue3开发Fimga插件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!用 Vue 3 开发 Figma 插件Fig...
    99+
    2023-06-29
  • vue中如何使用vue-route路由插件
    本篇文章给大家分享的是有关vue中如何使用vue-route路由插件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  1.vue-Router...
    99+
    2022-10-19
  • Vue3插件中怎么使用Provide和Inject
    今天小编给大家分享一下Vue3插件中怎么使用Provide和Inject的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。为什么...
    99+
    2023-07-04
  • vue3 api自动导入插件怎么使用
    这篇文章主要介绍了vue3 api自动导入插件怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3 api自动导入插件怎么使用文章都会有所收获,下面我们一起来看看吧。1. vue3...
    99+
    2023-07-05
  • vue中如何使用轮播图插件vue-awesome-swiper
    这篇文章主要介绍了vue中如何使用轮播图插件vue-awesome-swiper,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Vue-Awe...
    99+
    2022-10-19
  • Vue中如何使用百度地图插件
    这期内容当中小编将会给大家带来有关Vue中如何使用百度地图插件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。安装CDN全局安装<script src=&q...
    99+
    2022-10-19
  • vue中如何使用图片懒加载vue-lazyload插件
    这篇文章给大家分享的是有关vue中如何使用图片懒加载vue-lazyload插件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:说明当网络请求比较慢的时候,提前给这张图片...
    99+
    2022-10-19
  • vue3如何自定义js文件(插件或配置)
    目录vue3自定义js文件举例腾讯防水墙js调用文件vue加载自定义的js文件效果图遇见的问题使用vue3自定义js文件 在vue3中自定义的js文件,如果需要设置全局this.xx...
    99+
    2022-11-13
    vue3自定义js文件 vue3插件 vue3配置
  • vue的插件怎么使用
    本篇内容主要讲解“vue的插件怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue的插件怎么使用”吧! vue的插件是为应用...
    99+
    2022-10-19
  • vue3 table组件如何使用
    今天小编给大家分享一下vue3 table组件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基础表格首先开发tabl...
    99+
    2023-07-06
  • Vue如何二次封装axios为插件使用
    这篇文章给大家分享的是有关Vue如何二次封装axios为插件使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vuejs2.0 已经不再维护 vue-resource,vuejs...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作