在vue3中使用markdown编辑器

简介: 在vue3中使用markdown编辑器
这里使用的v-md-editor 是基于 Vue 开发的 markdown 编辑器组件

安装支持vue3的版本:

# 使用 npm
npm i @kangc/v-md-editor@next -S

在vue3中注册:

import { createApp } from 'vue';
import VueMarkdownEditor from '@kangc/v-md-editor';
import '@kangc/v-md-editor/lib/style/base-editor.css';
import vuepressTheme from '@kangc/v-md-editor/lib/theme/vuepress.js';
import '@kangc/v-md-editor/lib/theme/style/vuepress.css';

import Prism from 'prismjs';

VueMarkdownEditor.use(vuepressTheme, {
  Prism,
});

const app = createApp(/*...*/);

app.use(VueMarkdownEditor);

使用:

<template>
  <v-md-editor v-model="text" height="400px"></v-md-editor>
</template>

<script>
export default {
  data() {
    return {
      text: '',
    };
  },
};
</script>

效果:

在这里插入图片描述
==打印出的text数据结构:==
在这里插入图片描述

预览组件:

在vue3中引用

import { createApp } from 'vue';
import VMdPreview from '@kangc/v-md-editor/lib/preview';
import '@kangc/v-md-editor/lib/style/preview.css';
import githubTheme from '@kangc/v-md-editor/lib/theme/github.js';
import '@kangc/v-md-editor/lib/theme/style/github.css';

// highlightjs
import hljs from 'highlight.js';

VMdPreview.use(githubTheme, {
  Hljs: hljs,
});

const app = createApp(/*...*/);

app.use(VMdPreview);

使用:

<template>
  <v-md-preview :text="text"></v-md-preview>
</template>

<script>
export default {
  data() {
    return {
      text: '',
    };
  },
};
</script>

效果:

在这里插入图片描述

==图片上传问题:==

在这里插入图片描述

上传图片菜单默认为禁用状态 设置 disabled-menus 为空数组可以开启。

示例:

<template>
  <v-md-editor
    v-model="text"
    :disabled-menus="[]"
    @upload-image="handleUploadImage"
    height="500px"
  />
</template>

<script>
export default {
  data() {
    return {
      text: '',
    };
  },
  methods: {
    handleUploadImage(event, insertImage, files) {
      // 拿到 files 之后上传到文件服务器,然后向编辑框中插入对应的内容
      console.log(files);

      // 此处即为向编辑框中插入的内容,url即为图片上传后返回的链接
      // 此处只做示例
      insertImage({
        url:
          'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1269952892,3525182336&fm=26&gp=0.jpg',
        desc: '七龙珠',
        // width: 'auto',
        // height: 'auto',
      });
    },
  },
};
</script>

效果:

在这里插入图片描述

v-md-editor官方网站
相关文章
|
1月前
《使用「Markdown」编辑器的那些天 |CSDN编辑器测评》
《使用「Markdown」编辑器的那些天 |CSDN编辑器测评》
26 0
|
1月前
|
机器学习/深度学习 uml
Markdown编辑器用法保存自用
Markdown编辑器用法保存自用
|
3月前
|
Linux Docker 容器
Linux本地搭建StackEdit Markdown编辑器结合内网穿透实现远程访问
Linux本地搭建StackEdit Markdown编辑器结合内网穿透实现远程访问
34 0
|
2月前
|
存储 JavaScript 前端开发
使用Strve.js来搭建一款 Markdown 编辑器
今天,我们来使用Strve.js来搭建一款 Markdown 编辑器,没错!你没听错。我们需要创建了一个实时 Markdown 编辑器,用户可以在 textarea 中输入 Markdown 文本,然后实时显示转换后的 HTML。你可能会说使用 Strve.js 开发会不会写的特别复杂难懂啊,还不如用 Vue.js 呢!
|
26天前
|
机器学习/深度学习 uml
欢迎使用Markdown编辑器
欢迎使用Markdown编辑器
36 0
|
3月前
|
缓存 iOS开发 MacOS
R沟通|​markdown编辑器—Typora
R沟通|​markdown编辑器—Typora
59 0
|
4月前
|
计算机视觉
Markdown编辑器常用颜色背景指南(附颜色与代码展示,cv即可用)
Markdown编辑器常用颜色背景指南(附颜色与代码展示,cv即可用)
|
5月前
|
机器学习/深度学习 uml
Markdown编辑器
Markdown编辑器
73 0
|
6月前
|
机器学习/深度学习 Cloud Native Go
猫头虎博客带您使用Markdown编辑器
猫头虎博客带您使用Markdown编辑器
51 1
|
6月前
|
Ubuntu Linux API
16 个 Linux 最佳 Markdown 编辑器(2)
16 个 Linux 最佳 Markdown 编辑器(2)
51 0

相关实验场景

更多