在vue中使用codemirror格式化JSON

news2024/9/27 12:17:48

1. 下载指定版本的包 (避免引发不必要的错误)

yarn add codemirror@^5.64.0

2. 导入需要的文件


  import CodeMirror from 'codemirror'
  import 'codemirror/addon/lint/lint.css'
  import 'codemirror/addon/fold/foldgutter.css'
  import 'codemirror/lib/codemirror.css'
  import 'codemirror/theme/rubyblue.css'
  import 'codemirror/mode/javascript/javascript'
  import 'codemirror/addon/lint/lint'
  import 'codemirror/addon/lint/json-lint'

  // 折叠
  import 'codemirror/addon/fold/foldgutter.css'
  import 'codemirror/addon/fold/foldcode'
  import 'codemirror/addon/fold/foldgutter'
  import 'codemirror/addon/fold/brace-fold'
  import 'codemirror/addon/fold/comment-fold'

3. 注册

<template>
  <textarea ref="mycode" class="textarea" v-model="logInfo"></textarea>
</template>

<script>
  import * as jsonlint from 'json-lint'
  window['jsonlint'] = jsonlint
  import CodeMirror from 'codemirror'
  import 'codemirror/addon/lint/lint.css'
  import 'codemirror/addon/fold/foldgutter.css'
  import 'codemirror/lib/codemirror.css'
  import 'codemirror/theme/rubyblue.css'
  import 'codemirror/mode/javascript/javascript'
  import 'codemirror/addon/lint/lint'
  import 'codemirror/addon/lint/json-lint'

  // 折叠
  import 'codemirror/addon/fold/foldgutter.css'
  import 'codemirror/addon/fold/foldcode'
  import 'codemirror/addon/fold/foldgutter'
  import 'codemirror/addon/fold/brace-fold'
  import 'codemirror/addon/fold/comment-fold'

  export default {
    data() {
      return {
        logInfo: null,
        editorText: null
      }
    },
    components: {},

    created() {},
    async mounted() {
      const result = await this.$api.getLogDataInfo(null, this.$route.query.serialNo)
      this.logInfo = JSON.stringify(result)
      this.editorText = CodeMirror.fromTextArea(this.$refs.mycode, {
        mode: 'application/json',
        lineNumbers: true, // 显示行号
        tabSize: 2,
        lint: true,
        styleActiveLine: true,
        foldGutter: true, // 启用折叠效果
        gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter', 'CodeMirror-lint-markers'], // 配置折叠参数
      })
      var jsonData = JSON.stringify(result) //result是请求的后台数据
      var res = JSON.stringify(JSON.parse(jsonData), null, 4) //格式化后的json字符串形式
      this.editorText.setValue(res) //设置数据

      // 获取数据
      this.editorText.on('change', () => {
       console.log(this.editorText.getValue())
      })
    },
    methods: {}
  }
</script>
<style lang="scss">
  .CodeMirror {
    height: 100vh;
    overflow: hidden;
  }
</style>

4. 效果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/921452.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ARM DIY(一)电源、SD卡座、SOC 调试

文章目录 前言加热台焊接热风枪吹焊电烙铁补焊电源调试SD 卡座调试DRAM 电路调试串口电路调试SOC 调试成品 前言 之前打样的几块 ARM 板&#xff0c;一直放着没去焊接。今天再次看到&#xff0c;决定把它焊起来。 加热台焊接 为了提高焊接效率&#xff0c;先使用加热台焊接…

uni-app 编译报错 Error: pages.json解析失败,不符合 json 规范Unexpected token ‘)‘

问题 使用webstorm开发项目时&#xff0c;打开pages.json习惯性ctrlaltl把代码格式了&#xff0c;然后报错了。 接着使用HBuilder编译&#xff0c;但是一直显示在编译中&#xff0c;完全没有反映。重启编译器与重启电脑都没有用。 没管然后编译报错了。 加上逗号再运行还是报…

【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失

问题起因 最近公司有个甲方项目参加竞赛&#xff0c;要求在(基于kubeflow/arena)平台上部置应用&#xff0c;可以将MySQL打包在应用一起&#xff0c;也可以分开部署&#xff0c;没有提供volume相关的支持。大意是可以把初始好的数据直接拿到平台上。 经过本人在Linux虚机中启…

Ribbon:listOfServers ,${variableName:defaultValue}

解释&#xff1a; 配置了address的地址,请求会走address&#xff0c;也就是http://127.0.0.1:8081&#xff0c;通常用户与别的后端服务进行联调设置为其本地服务的ip。 如果address的地址被注释掉&#xff0c;如下面所示&#xff0c;类似这样的占位符${variableName:defaultVa…

基于Web的数字孪生智慧粮仓可视化管理系统

仓廪实、天下安。民之所需&#xff0c;行之所至。 建设背景 古往今来&#xff0c;粮食问题历来是安邦定国的头等大事。“粮食”作为人类生活的生命之源&#xff0c;在人们的日常生活中起着决定性的作用。收获的粮食归仓&#xff0c;仓储工作是稳定“大国粮仓”的重要环节&…

​LeetCode解法汇总1267. 统计参与通信的服务器

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 这里有一幅…

centos7搭建apache作为文件站后,其他人无法访问解决办法

在公司内网的一个虚拟机上搭建了httpsd服务&#xff0c;准备作为内部小伙伴们的文件站&#xff0c;但是搭建好之后发现别的小伙伴是无法访问我机器的。 于是寻找一下原因&#xff0c;排查步骤如下&#xff1a; 1.netstat -lnp 和 ps aux 先看下端口和 服务情况 发现均正常 2.…

开学季触控笔哪个牌子好?ipad第三方电容笔推荐

苹果笔和市场上其他的电容笔最大的区别就是&#xff0c;普通电容笔没有重力式的压力感应&#xff0c;然而&#xff0c;只有有一种倾斜式的压力感应。但是&#xff0c;普通的电容笔也可以用来书写&#xff0c;和苹果的Pencil没有太大的差别&#xff0c;而且大部分都是200元。如今…

通过C实现sqlite3操作,导入电子词典

#include <stdio.h> #include <string.h> #include <stdlib.h> #include <sqlite3.h> int main(int argc, const char *argv[]) {//创建并打开一个数据库sqlite3 *db NULL;if(sqlite3_open("./dict.db",&db) ! SQLITE_OK){printf("…

Python“牵手”一号店商品详情API接口运用场景及功能介绍,一号店接口申请指南

一号店是中国首家网上超市&#xff0c;由世界500强副董事长于刚创建。一号店扎根于中国广大的消费市场&#xff0c;以经营吃、喝、拉、撒、睡等人的基本生活工作等用品为主&#xff0c;运用互联网经营&#xff0c;线下配送的模式&#xff0c;打造了属于一号店的经营模式。 一号…

【Unity3D赛车游戏】【三】如何将汽车进入驱动模式——四驱,二驱转换

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

Windows下python(conda)加载spatialite模板

如果在python调用spatialite的函数&#xff0c;报错no such function: MBRContains,ST_Contains,python则需要加载spatialite扩展: 共两步&#xff1a; 1、先在The Gaia-SINS federated project home-pageThe Gaia-SINS federated project home-pageThe Gaia-SINS federated …

真伪定时器

首先观察一下下面两组代码区别在哪里&#xff1f; 第一组代码 setInterval(() > {// 1.5s 的同步逻辑 }, 1000);第二组代码 function fn() {setTimeout(() > {// 1.5s 的同步逻辑fn();}, 1000); }fn();两组代码都有定时功能&#xff0c;看起来也都是每隔1s执行一次任务…

javaweb项目部署linux服务器遇到的问题

其他有关本次部署内容请参考本站其他文章 javaweb项目要用war包 IntelliJ IDEA 可以打包out里的子目录 D:\D盘文件\浏览器\webshop\out\artifacts\webshop_war_exploded>jar cvf webshop.war * 方法来源视频 18、web项目的打包与发布_哔哩哔哩_bilibili myeclipse项目…

为应用程序接入阿里云CDN优化网站访问速度

文章目录 1.KodCloud云盘系统接入CDN之前的效果2.配置KodCloud云盘接入CDN加速器2.1.添加CDN域名2.2.配置域名信息2.3.CDN推荐配置设置2.4.CDN加速器配置完成 3.配置云解析DNS增加CDN域名的解析4.为CDN加速器配置HTTPS5.验证网站是否接入CDN6.访问应用程序观察请求速度7.观察CD…

揭秘Stable Diffusion技术构建的未来人机识别模型

最近&#xff0c;AI 图像生成十分火热&#xff0c;当我们给它一个文本提示&#xff08;text prompt&#xff09;时&#xff0c;它将返回与文本匹配的图像&#xff0c;从而生成各种我们想要的图像。除了根据文本生产图像以外&#xff0c;它还可以用于图像修复、图像绘制、图像替…

【附安装包】MyEclipse2020安装教程

软件下载 软件&#xff1a;MyEclipse版本&#xff1a;2020语言&#xff1a;简体中文大小&#xff1a;1.61G安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.5GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨下载链接&#xff1a;https://pan.baidu.co…

adb shell setprop 、开发者选项

App性能调试详解 Android App性能监控工具 更多系统属性参考 一、开启 GPU Render 的profiling bar&#xff1a; Gpu渲染速度 adb shell setprop debug.hwui.profile true adb shell setprop debug.hwui.profile visual_bars adb shell setprop debug.hwui.profile visual…

opencv-答题卡识别判卷

#导入工具包 import numpy as np import argparse import imutils import cv2# 设置参数 ap argparse.ArgumentParser() ap.add_argument("-i", "--image", requiredTrue,help"path to the input image") args vars(ap.parse_args())# 正确答案…

HDLBits-Verilog学习记录 | Verilog Language-Modules(1)

文章目录 20.Module21.Connecting ports by position | Moudle pos22.Connecting ports by name | Module name23.Three modules | Module shift24.Modules and vectors | Module shift8 20.Module practice:You may connect signals to the module by port name or port posi…