vue2-ace-editor代码编辑器使用
Posted xingba-coder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue2-ace-editor代码编辑器使用相关的知识,希望对你有一定的参考价值。
安装
npm安装
npm install --save-dev vue2-ace-editor
如果需要拷贝到内网,需要 npm安装后 将 vue2-ace-editor 和 brace( vue2-ace-editor中用到了brace ) 两个依赖拷贝到项目 node_modules中;
使用
<template> <div class="container"> <editor ref="aceEditor" v-model="content" @init="editorInit" width="700" height="600" lang="javascript" :theme="theme" :options="{ enableBasicAutocompletion: true, enableSnippets: true, enableLiveAutocompletion: true, tabSize:6, fontSize:14, showPrintMargin:false, //去除编辑器里的竖线 }" ></editor> <el-button type="primary" size="small" @click="getValue">获 取</el-button> <el-button type="primary" size="small" @click="pre">上一个主题</el-button> <el-button type="primary" size="small" @click="next">下一个主题</el-button> </div> </template>
export default { data() { return { content: "", theme:\'\', num:0, arr:[ //将brace/theme文件夹下的所有主题名字拷贝出来 \'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\', ] }; }, components: { editor: require("vue2-ace-editor") }, methods: { editorInit() {//初始化 require("brace/ext/language_tools"); //language extension prerequsite... require("brace/mode/javascript"); //language // require("brace/theme/tomorrow_night"); for (let i = 0; i < this.arr.length; i++) {//方便看哪个主题好看,循坏加载了所有主题,通过点击按钮切换 require("brace/theme/"+this.arr[i]) } require("brace/snippets/javascript"); //snippet }, getValue(){//获取编辑器中的值 console.log(\'编辑器中的值:\'+this.$refs.aceEditor.editor.getValue()) console.log(\'编辑器中第一个换行符的位置:\'+this.$refs.aceEditor.editor.getValue().indexOf(\'\\n\')) }, pre(){//切换到上一个主题 if(this.num==0){ return } this.num-- this.theme = this.arr[this.num] console.log(\'主题\'+this.num+\'__\'+this.arr[this.num]) }, next(){//切换到下一个主题 if(this.num==this.arr.length-1){ return } this.num++ this.theme = this.arr[this.num] console.log(\'主题\'+this.num+\'__\'+this.arr[this.num]) }, }, mounted() { this.editorInit(); this.theme = this.arr[0] console.log(this.$refs.aceEditor.editor.setValue(\'设置的初始值\')) } };
初始化的效果:
有代码的效果:
参考文档
以上是关于vue2-ace-editor代码编辑器使用的主要内容,如果未能解决你的问题,请参考以下文章
ueditor禁用编辑的时候报错:Uncaught TypeError: Cannot read property 'contentEditable' of undefined(代码片