最终效果如下图所示,
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({...});//转为字符串
});