javascript - vue自定义指令,全局和局部css效果不同
伊谢尔伦
伊谢尔伦 2017-04-11 12:54:52
[JavaScript讨论组]

1.问题

想用codemirror做实时代码高亮,自定义了双向指令来使用它。定义为全局指令后可正常使用,定义为局部指令则css不正确(也许是js也有问题?)

2.代码

使用vue-cli的webpack模版建项目。codemirror通过npm安装。代码:

main.js

import Vue from 'vue'
import App from './App'

import CodeMirror from 'codemirror/lib/codemirror'
import 'codemirror/lib/codemirror.css'
import 'codemirror/mode/javascript/javascript'

Vue.directive('banzi', {
  twoWay: true,
  bind: function () {
    this.codemirror = CodeMirror(this.el, {
      mode: 'javascript',
      lineNumbers: true
    })
    this.codemirror.on('change', function () {
      this.set(this.codemirror.getValue())
    }.bind(this))
  },
  update: function (value, oldValue) {
    this.codemirror.setValue(value || '')
  }
})

/* eslint-disable no-new */
new Vue({
  el: 'body',
  data: {
    'neirong': 'function test() {}'
  },
  components: { App }
})

index.html





  



  
  

from app

from banzi

components/App.vue



3.截图

上面app那个是来自组件App.vue的结果,行号显示和代码冲突了,有overlap

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(1)
高洛峰

看这里吧,有人写了一个:

https://github.com/chenjiangsong/vue-codemirror
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号