首页 > 其他分享 >【前端】vue3 vue3-ace-editor json格式化显示 json编辑器

【前端】vue3 vue3-ace-editor json格式化显示 json编辑器

时间:2022-09-26 17:13:34浏览次数:60  
标签:builds ace json vue3 import tomorrow

一、效果

二、代码

<!--  -->
<template>
    <div class='content'>
        <el-select v-model="aceConfig.theme" class="m-2" placeholder="Select" size="large">
            <el-option v-for="item in aceConfig.arr" :key="item" :label="item" :value="item" />
        </el-select>
        <el-button @click="initFail">格式化</el-button>
        <v-ace-editor v-model:value="dataForm.textareashow" @init="initFail" lang="json" :theme="aceConfig.theme"
            :options="aceConfig.options" :readonly="aceConfig.readOnly" style="height:300px" class="ace-editor" />
    </div>
</template>

<script setup>
import { reactive } from 'vue'
import { VAceEditor } from 'vue3-ace-editor';
// 加了这个【import "ace-builds/webpack-resolver";】可能会报错
//(若报错 则需要安装node.js的一个包 就是主题)
// 命令:npm install --save-dev file-loader
import "ace-builds/webpack-resolver";
import 'ace-builds/src-noconflict/mode-json';
import 'ace-builds/src-noconflict/theme-chrome';
import 'ace-builds/src-noconflict/ext-language_tools';

//ace编辑器配置
const aceConfig = reactive({
    lang: 'json', //解析json
    theme: 'chrome', //主题
    arr: [
        /*所有主题*/
        "ambiance",
        "chaos",
        "chrome",
        "clouds",
        "clouds_midnight",
        "cobalt",
        "crimson_editor",
        "dawn",
        "dracula",
        "dreamweaver",
        "eclipse",
        "github",
        "gob",
        "gruvbox",
        "idle_fingers",
        "iplastic",
        "katzenmilch",
        "kr_theme",
        "kuroir",
        "merbivore",
        "merbivore_soft",
        "monokai",
        "mono_industrial",
        "pastel_on_dark",
        "solarized_dark",
        "solarized_light",
        "sqlserver",
        "terminal",
        "textmate",
        "tomorrow",
        "tomorrow_night",
        "tomorrow_night_blue",
        "tomorrow_night_bright",
        "tomorrow_night_eighties",
        "twilight",
        "vibrant_ink",
        "xcode",
    ],
    readOnly: false, //是否只读
    options: {
        enableBasicAutocompletion: true,
        enableSnippets: true,
        enableLiveAutocompletion: true,
        tabSize: 2,
        showPrintMargin: false,
        fontSize: 13
    }
});

//form
const dataForm = reactive({
    textareashow: '{"A":"A1"}'
});

//init
const initFail = () => {
    try {
        dataForm.textareashow = JSON.stringify(JSON.parse(dataForm.textareashow), null, 2)
    } catch (e) {
        console.log(`JSON字符串错误:${e.message}`);
    }
};
</script>
    

<style scoped>

</style>

 

标签:builds,ace,json,vue3,import,tomorrow
From: https://www.cnblogs.com/danhuai/p/16731613.html

相关文章

  • vue3中的hook自定义函数
    1.建立hook文件夹,在hook文件夹里面建立useAxios.ts文件,内容如下:import{ref}from'vue';importaxiosfrom'axios';exportdefaultfunction<T>(url:string,m......
  • vue3中的provide和inject实现组件间通讯
    在vue2中我们已经使用过provide和inject来实现祖孙组件之间的数据传递,但是在vue3中由于我们使用setup,此时我们应该如何去使用provide和inject函数呢?在vue中帮我们提供了pr......
  • vue3 页面跳转
    需要引入useRouterimport{useRouter}from"vue-router";然后声明对象代码如下exportdefault{setup(){const$router=useRouter();......
  • vue3中watch和watchEffect的区别
    1、watch需要明确监听哪个属性2、watchEffect会根据其中的属性,自动监听其变化3、watcheffect初始化时,一定会执行一次(收集要监听的数据,不然不知道监听的是什么),watch只有你......
  • vue 中使用 富文本编辑器;带图片上传时后台报错JSON parse error: Unexpected characte
    使用的是 wangEditorvue安装好后,在components文件夹下创建一个创建一个类<template><divref="editor"></div></template><script>importEfrom'wange......
  • vue3的vuex简单配置
    vuex目录文件内容【store/index.js】import{createStore}from"vuex";importmodulesfrom"./modules";constsetupStore=(app)=>{letstoreOptions......
  • JeecgBoot 3.4.2 版本发布,Vue3版本大升级
    项目介绍JeecgBoot是一款企业级的低代码平台!前后端分离架构SpringBoot2.x,SpringCloud,AntDesign&Vue,Mybatis-plus,Shiro,JWT支持微服务。强大的代码生成器让前后端代码一......
  • tomcat 访问日志转json
    一、安装jdk、tomcatcat install_tomcat.sh #!/bin/bashJDK_FILE="jdk-8u341-linux-x64.tar.gz"#JDK_FILE="jdk-8u281-linux-x64.tar.gz"TOMCAT_FILE="apache-tomc......
  • Jackson 解析 JSON 详细教程
    点赞再看,动力无限。微信搜「程序猿阿朗」。本文Github.com/niumoo/Java…和未读代码博客已经收录,有很多知识点和系列文章。JSON对于开发者并不陌生,如今的WEB......
  • JsonWebToken
    (一)JsonWebToken是什么?JSONWebToken是一个开放标准协议,它定义了一种“紧凑”和“自包含”的方式,它用于各方之间作为JSON对象安全地传输信息。紧凑:数据量较少,并且能通过......