zoukankan      html  css  js  c++  java
  • vue项目接入markdown

    vue 项目接入 markdown

    最近做一个项目,需要在vue项目中接入 markdown 编辑器,其实这个好接,他没有什么特别的样式,男的就是图片的上传。
    今天给大家推荐一个插件 :mavonEditor
    这个是他的github:https://github.com/hinesboy/mavonEditor/blob/master/README.md

    这个插件支持自定义界面,代码高亮,图片上传等,是我见过最好的一个。
    他的使用方法在github上写的很详细,可以去里面看。

    安装

    安装命令

    	$ npm install mavon-editor --save 或者
    	$ yarn add mavon-editor
    

    在 main.js 中引入

        import mavonEditor from 'mavon-editor'
        import 'mavon-editor/dist/css/index.css'
        Vue.use(mavonEditor)
    

    使用mavonEditor编辑markdown

    在需要引入markdown编辑器的界面

    <template>
        <div>
            <mavon-editor v-model="value"/>
        </div>
    </template>
    
    <script>
    export default {
        data() {
            return {
                value: '',
                defaultData: "preview"
            };
        },
    };
    </script>
    

    使用v-html展示markdown

    <article v-html="value" ></article>
    
    <script>
    export default {
        data() {
            return {//value的值是经过markdown解析后的文本,可使用`@change="changeData"`在控制台打印显示
                value: `<blockquote>
    									<p>你好</p>
    									</blockquote>
    									<p><code>java</code></p>`,
                defaultData: "preview"
            };
        },
        methods: {
        }
    };
    </script>
    

    图片上传

    <template>
        <mavon-editor ref=md @imgAdd="$imgAdd" @imgDel="$imgDel"></mavon-editor>
    </template>
    exports default {
        methods: {
            // 绑定@imgAdd event
            $imgAdd(pos, $file){
                // 第一步.将图片上传到服务器.
               var formdata = new FormData();
               formdata.append('image', $file);
               axios({
                   url: 'server url',
                   method: 'post',
                   data: formdata,
                   headers: { 'Content-Type': 'multipart/form-data' },
               }).then((url) => {
                   // 第二步.将返回的url替换到文本原位置![...](0) -> ![...](url)
                   /**
                   * $vm 指为mavonEditor实例,可以通过如下两种方式获取
                   * 1. 通过引入对象获取: `import {mavonEditor} from ...` 等方式引入后,`$vm`为`mavonEditor`
                   * 2. 通过$refs获取: html声明ref : `<mavon-editor ref=md ></mavon-editor>,`$vm`为 `this.$refs.md`
                   */
                   $vm.$img2Url(pos, url);
               })
            }
        }
    }
    

    完成!

  • 相关阅读:
    优化!优化!
    JavaScript 错误
    js 学习总结
    JavaScript join() 方法
    JavaScript shift() 方法
    JavaScript split() 方法
    arTemplate解析语法
    getTime 方法
    PHP 5 数据类型
    thinkphp 实现微信公众号开发(二)--实现自定义菜单
  • 原文地址:https://www.cnblogs.com/wjw1014/p/11778159.html
Copyright © 2011-2022 走看看