在vue中使用markdown我使用到了mavon-editor組件,mavon-editor組件github地址:https://github.com/hinesboy/m...php
一:下載mavon-editorcss
npm install mavon-editor
二:mavon-editor使用html
html代碼:vue
<template> <div> <mavon-editor v-model="content" ref="md" @change="change" @imgAdd="$imgAdd" style="min-height: 600px" /> </div> </template>
js代碼:ios
前提:須要引入mavon-editorgit
import { mavonEditor } from 'mavon-editor' import 'mavon-editor/dist/css/index.css'
完整的js代碼以下:github
<script type="text/ecmascript-6"> // 導入組件 及 組件樣式 import { mavonEditor } from 'mavon-editor' import 'mavon-editor/dist/css/index.css' export default { components: { mavonEditor,//mavon-editor組件 }, data() { return { content:'', // 輸入的markdown html:'', // 轉成的html } }, methods: { change(value, render) { //實時獲取轉成html的數據 this.html = render console.log(this.html) }, // 將圖片上傳到服務器,返回地址替換到md中 $imgAdd(pos, $file){ let formdata = new FormData(); formdata.append('image', $file); this.$ajax({ url: 'http://local.basic.com/index.php?r=markdown/upload', method: 'post', data: formdata, }).then((data) => { //將返回的url替換到文本原位置 if (data.data.success == 1) { this.$refs.md.$img2Url(pos, data.data.url); console.log(data.data.url) } }) }, }, } </script>
上面使用到了調取外部接口進行上傳,調取外部接口方法可參考:vue.js結合axios實現跨域訪問接口ajax
上傳接口能夠參考:html+js 實現markdown編輯器效果 中的上傳接口npm
到此在vue中實現markdown編輯器功能實現完成axios
現象以下: