当前位置: 首页 > news >正文

Vue集成MarkDown

1.编辑部分

1.下载资源包

npm install mavon-editor --save

2.main.js配置

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

3.组件引入对应的Vue文件

<mavon-editor ref="md" v-model="form.content" :toolbars="toolbars"@imgAdd="imgAdd" @imgDel="imgDel"/>

image-20250711181216116

4.再data中定义工具栏

toolbars:{bold:true,//粗体italic:true,//斜体header:true,//标题underline:true,//下划线strikethrough:true,//中划线mark:true,//标记quote:true,//引用ol:true, //有序列表ul:true, //无序列表link:true,//链接imagelink:true,//图片链接code:true,// codetable:true,//表格fullscreen:true,//全屏编辑readmodel:true,//沉浸式阅读htmlcode:true, //展示html源码help:true,//帮助undo:true,//上一步redo:true,//下一步trash:true,//清空save:false,//保存(触发events中的save事件)navigation:true,//导航目录subfield:true, //单双栏模式preview:true//预览
}

tips:markdown关于上传与删除图片

imgAdd(pos, file) {var formdata = new FormData();formdata.append('file', file); //前端封装图片数据 ‘file’向后端传递的 namethis.$http({ //调用 java 后端上传图片到服务器端url: this.serverAddress+'uploadImg', //自定义后端服务器地址,后端同文件上传功能data: formdata,method: "post",headers: {'Content-Type': 'multipart/form-data','adminToken': this.adminToken},}).then((resp) => { //resp 后端响应数据//将服务器返回的图片地址插入到编辑器内this.$refs.md.$img2Url(pos, resp.data.data);})},imgDel(pos) {var imgUrl = pos[0]; //获取到图片服务器地址alert(imgUrl);this.$http.get("adminApi/newsCtl/deleteImg", {params: {imgUrl: JSON.stringify(imgUrl)}}).then(function(res) {//删除回调if (res.code == 200) {this.$message({message: res.message,type: 'success'});}})}

image-20250711181347174

2.前台展示配置

显示使用markdown格式

1.下载组件

npm install --save showdown

2.配置 main.js

//markdown 格式转为html组件
import showdown from 'showdown'
Vue.prototype.converter = new showdown.Converter();

image-20250711181244532

3.显示模块

<mavon-editor v-html="newsDetail.content" ref="md"
style="white-space: pre-wrap !important;
word-wrap: break-word !important;
padding: 10px;"/>

4.对后端传来的数据进行修改格式

this.$http.get("indexApi/indexCtl/newsDetail?id="+this.id).then((resp) => {if (resp.data.code == 200) {this.newsDetail = resp.data.data;this.newsDetail.content = this.converter.makeHtml(resp.data.data.content);}})
http://www.dtcms.com/a/274482.html

相关文章:

  • 数据结构:栈、队列、链表
  • 磁场的秘密触手可及:霍尔传感器与嵌入式仿真平台赋能高校创新教学
  • HandyJSON使用详情
  • VS Code 插件扩展开发指南
  • AI的欧几里得要素时刻:从语言模型到可计算思维
  • 玖玖NFT数字藏品源码(源码下载)
  • 【达梦数据库|JPA】后端数据库国产化迁移记录
  • 解读:大模型(LLM)、检索增强生成(RAG)、智能体(Agent)
  • 城市之间消防主机长距离使用can转以太网通讯方案
  • JDBC 批处理操作详解
  • leetcode105深度解析:从前序与中序遍历序列构造二叉树
  • 我找工作的时候,AI到底帮了我还是坑了我?
  • 益丰新材闯上市:营收连降,核心原料依赖关联方,马韵升家族控股
  • 【每日刷题】x 的平方根
  • [TOOL] ubuntu 使用 ffmpeg 操作 gif、mp4
  • UNet改进(21):门控注意力机制在UNet中的应用与优化
  • mongodb 开源同步工具介绍
  • c++11——左值、右值、完美转发、移动语义
  • 【AI News | 20250710】每日AI进展
  • 60 美元玩转 Li-Fi —— 开源 OpenVLC 平台入门(附 BeagleBone Black 驱动简单解析)
  • UE5中的cesium
  • flex 布局完整功能介绍和示例演示
  • windows配置python环境
  • 获取Fortran程序内存使用情况的方法
  • 多租户架构下的多线程处理实践指南
  • 上位机知识篇---Git符号链接
  • mysql 数据备份与数据恢复
  • BigFoot Decursive 2.7.28 2025.07.11
  • 伺服驱动控制CANopen协议
  • [WinForms] 如何为 .NET Framework 4.8 窗体程序添加自定义图标