vue中使用ace-builds

1、首先需要执行命令 npm install ace-builds -S 安装依赖
 

//html
 <div class="ace-container">
    <div class="ace-editor" ref="ace"></div>
 </div>
// js
<script>
import ace from 'ace-builds'
import 'ace-builds/src-noconflict/snippets/javascript'
import 'ace-builds/src-noconflict/snippets/sql'
import 'ace-builds/src-noconflict/snippets/html'
import 'ace-builds/src-noconflict/snippets/css'
import 'ace-builds/src-noconflict/snippets/scss'
import 'ace-builds/src-noconflict/snippets/json'
import 'ace-builds/src-noconflict/snippets/java'
import 'ace-builds/src-noconflict/snippets/text'
import 'ace-builds/webpack-resolver'
import 'ace-builds/src-noconflict/ext-language_tools'
import 'ace-builds/src-noconflict/theme-monokai'
import 'ace-builds/src-noconflict/mode-javascript'

export default {
   mounted () {
    this.aceEditor =
    ace.edit(this.$refs.ace, {
      maxLines: 20,
      minLines: 10,
      fontSize: 14,
      value: this.value ? this.value : '',//初始显示内容
      theme: this.themePath,
      mode: this.modePath,
      wrap: this.wrap,
      tabSize: 4
    })
    // 激活自动提示
    this.aceEditor.setOptions(
      {
        enableSnippets: true,
        enableLiveAutocompletion: true,
        enableBasicAutocompletion: true
      })
    this.aceEditor.getSession().on('change', this.change)
  },
  data () {
    return {
      value:'',
      aceEditor: null,
      wrap: true,// 是否自动换行
      themePath: 'ace/theme/monokai',//黑色主题,默认为白色
      modePath: 'ace/mode/javascript',//语言为javascript,其他语言如下:
      // name: 'JavaScript',path: 'ace/mode/javascript'
      // name: 'SQL',path: 'ace/mode/sql'
      // name: 'HTML',path: 'ace/mode/html'
      // name: 'CSS',path: 'ace/mode/css'
      // name: 'SCSS',path: 'ace/mode/scss'
      // name: 'Json',path: 'ace/mode/json'
      // name: 'Java',path: 'ace/mode/java'
      // name: 'Text',path: 'ace/mode/text'
    }
  },
   methods: {
    // 实时获取当前输入内容
    change () {
     console.log(this.aceEditor.getSession().getValue())
    },
    // 如果有语言切换需求
    handleModelPathChange (modelPath) {
      this.aceEditor.getSession().setMode(modelPath)
    },
    // 是否自动换行
    handleWrapChange (wrap) {
      this.aceEditor.getSession().setUseWrapMode(wrap)
    }
  }
 }
},
</script>
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值