vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue:Bin Code Editor格式化JSON编辑器

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

作者:是席木木啊

文章介绍了BinCodeEditor组件的安装、注册、使用方法以及注意事项,组件可以通过npm或yarn安装,支持全局或局部注册,使用时,可以通过value属性绑定JavaScript值,或使用v-model,组件事件与方法包括编辑区显示问题的解决

最终效果如下图所示:

Bin Code Editor安装

npm或yarn安装命令如下:

npm i bin-code-editor -S
# or 
yarn add bin-code-editor

组件注册

全局注册

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

import Vue from 'vue';
import CodeEditor from 'bin-code-editor';
import 'bin-code-editor/lib/style/index.css';
 
Vue.use(CodeEditor);
 

局部注册

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

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函数进行转换。

<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内部执行,例如:

                this.$nextTick(()=>{
                    //TODO:假设绑定值为query
                    this.query = JSON.stringify({...});//转为字符串
                });

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文