Vue:Bin Code Editor格式化JSON编辑器

最终效果如下图所示,

Bin Code Editor安装

npm或yarn安装命令如下,

bash 复制代码
npm i bin-code-editor -S
# or 
yarn add bin-code-editor

组件注册

全局注册

在 main.js 中写入导入以下内容,

javascript 复制代码
import Vue from 'vue';
import CodeEditor from 'bin-code-editor';
import 'bin-code-editor/lib/style/index.css';

Vue.use(CodeEditor);

局部注册

在需要使用Bin Code Editor的组件中导入以下内容,

javascript 复制代码
import { CodeEditor } from 'bin-code-editor'
import 'bin-code-editor/lib/style/index.css';

export default {
    components: {
        CodeEditor
    },
}

使用方式

基本使用

value:必需,对应要转换的 JavaScript 值(通常为对象或数组),也可使用v-model代替,值的类型为String字符串,对于JavaScript对象,可以使用JSON.stringfy函数进行转换。

html 复制代码
<template>
<div>
  <b-code-editor v-model="jsonStr" :indent-unit="4" height="auto"/>
</div>
</template>
<script>
  const jsonData = `{"title":"测试json数据","children":[{"name":"子项名称", "desc":"子项说明" },{"name":"子项名称1", "desc":"子项说明1" }]}`

  export default {
    data() {
      return {
        jsonStr: jsonData
      }
    }
  }
</script>

组件属性

组件事件与方法

踩坑指南

坑点描述

修改v-model绑定值之后,需要点击一下编辑区才能显示。

坑点解决:nextTick

将修改绑定值的操作,放在nextTick内部执行,例如:

javascript 复制代码
                this.$nextTick(()=>{
                    //TODO:假设绑定值为query
                    this.query = JSON.stringify({...});//转为字符串
                });
相关推荐
程序员爱钓鱼2 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder2 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
JIngJaneIL3 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码3 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_3 小时前
列表渲染(v-for)
前端·javascript·vue.js
JustHappy4 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌4 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
sg_knight4 小时前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
LYFlied4 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展