阿丹千问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+"");
    },

效果完美!下班!

相关推荐
Chengbei112 分钟前
Chrome浏览器渗透利器支持原生扫描!JS 端点 + 敏感目录 + 原型污染自动化检测|VulnRadar
javascript·chrome·安全·web安全·网络安全·自动化·系统安全
gongzemin6 分钟前
怎么在VS Code 调试vue3 源码
前端·vue.js
wulijuan8886661 小时前
ECharts图表性能优化的那些事
前端·javascript·echarts
风止何安啊1 小时前
数字太长看花眼?一招教它排好队:千分位处理的实现
前端·javascript·面试
沙包大的拳头1 小时前
扩展运算符无法克隆 getBoundingClientRect() 获取的值
前端·javascript
游戏开发爱好者82 小时前
React Native iOS 代码如何加密,JS 打包 和 IPA 混淆
android·javascript·react native·ios·小程序·uni-app·iphone
榴莲omega3 小时前
第7天:网络进阶——TCP/UDP、WebSocket、长连接
javascript·网络·tcp/ip·udp·八股
xuankuxiaoyao3 小时前
VUE.JS 实践 第二章
前端·javascript·vue.js
毕设源码-赖学姐3 小时前
【开题答辩全过程】以 基于Vue的电商管理平台为例,包含答辩的问题和答案
前端·javascript·vue.js
Wayward and pinnacle3 小时前
二次封装多选框组件
前端·javascript·vue.js