阿丹千问vue页面升级-使用Markdown形式展示回答--markdown-it库

阿丹:

在之前开发的阿丹千问

发现回复的文章格式使用 Markdown的格式。所以想使用Markdown的方式来给页面来个升级。

下面就是升级以及开发的过程。

升级思路

使用vue中的markdown-it库

在Vue页面中使用Markdown文档

安装markdown-it:

在Vue项目中,使用markdown-it库来解析和渲染Markdown文档。你可以使用npm或yarn安装该库:

复制代码
npm install markdown-it

或者

复制代码
yarn add markdown-it

创建一个Markdown组件

在Vue项目中,可以创建一个自定义的Markdown组件,负责解析和渲染Markdown文档。可以在组件中使用markdown-it库来实现这一目标。以下是一个简单的示例:

javascript 复制代码
<template>
  <div>
    <div v-html="renderedMarkdown"></div>
  </div>
</template>

<script>
import MarkdownIt from 'markdown-it';

export default {
  data() {
    return {
      markdown: '# Hello, World!',
      renderedMarkdown: ''
    };
  },
  mounted() {
    this.renderMarkdown();
  },
  methods: {
    renderMarkdown() {
      const md = new MarkdownIt();
      this.renderedMarkdown = md.render(this.markdown);
    }
  }
};
</script>

以上方案可完成使用Markdown形式来解读。

在上面的示例中,首先引入了markdown-it库,然后在组件的data中定义了一个markdown变量,用于存储Markdown文档。在mounted钩子中,调用了renderMarkdown方法,它使用markdown-it来解析和渲染Markdown文档,并将结果保存在renderedMarkdown变量中。最后,在组件的模板中,使用v-html指令将解析后的Markdown文档渲染到页面上。

使用组件式开发

在Vue页面中使用Markdown组件:现在,可以在Vue页面中使用自定义的Markdown组件来展示Markdown文档

javascript 复制代码
<template>
  <div>
    <markdown></markdown>
  </div>
</template>

<script>
import Markdown from '@/components/Markdown.vue';

export default {
  components: {
    Markdown
  }
};
</script>

在上面的示例中,通过import语句引入了自定义的Markdown组件,并在Vue页面的模板中使用了<markdown></markdown>标签来调用该组件。

以上方法如果要使用那么需要绑定赋值 ,一定需要注意!!!

简单页面函数-以及快捷实现

按照上面下载相应依赖。

复制代码
//使用函数解析markdown
 <div class="message-content" v-html="parsedContent(message.content)">

            </div>


 //初始化md对象
      md: new MarkdownIt(),


//具体转换函数
 parsedContent(message) {
      return this.md.render(message+"");
    },

效果完美!下班!

相关推荐
仙人球部落2 小时前
-python-LangGraph框架(3-31-LangGraph 「合并式状态管理」的原理与实践)
开发语言·javascript·python
sunfdf3 小时前
Next.js 新手从零部署到首跑实战指南
开发语言·javascript·ecmascript
SmartBoyW3 小时前
前端死磕:一文彻底搞懂 JS 事件循环 (Event Loop) 与宏微任务
前端·javascript
不法4 小时前
uniapp map地图导航/地图路线
前端·vue.js·uni-app
mONESY4 小时前
基于MCP协议搭建全链路智能Agent:地图检索+浏览器自动化+本地文件操控实战
javascript
研☆香5 小时前
闭包实战避坑指南
javascript
你怎么知道我是队长5 小时前
JavaScript 的控制语句介绍
开发语言·javascript·ecmascript
用户44014549314196 小时前
Spring Boot 3.x 异步编程实战:从 @Async 到虚拟线程
javascript
卓怡学长7 小时前
w263基于springboot + vue 健康饮食管理系统
java·数据库·vue.js·spring boot·spring·intellij-idea
无情的西瓜皮7 小时前
MCP 协议实战:从零搭建一个 MCP 服务器(Node.js 版)
vue.js·人工智能·typescript·node.js