vue集成editor.md

editor.md:一款markdown编辑器,个人这么理解的,看起来很高大尚
官网地址:https://pandao.github.io/editor.md/

vue集成editor.md_第1张图片

坑爹的是在vue里面不能直接使用,需要自己封装

markdown一般需要两个东西,编辑和预览,分享一个我自己基于editor.md封装的组件,用的是vue3

录屏就没有了,动图的话太大上传不了

源码地址

  • 编辑
    https://gitee.com/qiudw/platform/tree/master/platform-admin-web/src/main/front-end/src/components/EditorMarkdown

  • 预览
    https://gitee.com/qiudw/platform/tree/master/platform-admin-web/src/main/front-end/src/components/EditormdPreview

这里需要安装scriptjs

npm install scriptjs --save

编辑组件







这里需要注意:我踩过的坑

  1. editor对象
    this.editor = editor,data里面保存后,其他方法里面this.editor不是editormd('', options)创建的那个,所以setValue(), setMarkdown()方法都用不了

  2. 全屏压盖
    z-index层级问题,我这里的解决方法是监听editor的全屏和退出全屏事件,js修改z-index样式

  3. 更新反馈
    监听editor的change事件,将值反馈给父组件,父组件通过v-model绑定值,这里修改父组件的值是不是更新到子组件额

  4. 初始化延迟
    更新的时候,一般都是异步加载,由于editor只初始化一次的问题,所以这里设置延迟初始化

调用


预览组件