vue3 项目构建-8-展示 markdown 文档

第一步,下载插件

复制代码
npm install markdown-it

第二步,使用插件渲染

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

<script setup>
import { ref, computed } from 'vue';
import MarkdownIt from 'markdown-it';
// 创建 MarkdownIt 实例
const md = new MarkdownIt();
// 定义一个响应式的 Markdown 文本
const markdownText = ref('# Hello, World!\nThis is a markdown paragraph in script setup.');
// 通过计算属性将 Markdown 文本转换为 HTML 内容
const htmlContent = computed(() => md.render(markdownText.value));
</script>

实际页面的应用:

javascript 复制代码
<script setup>
import { inject, onMounted, ref, computed, watch } from 'vue';
import MarkdownIt from 'markdown-it';
const axios = inject('$axios');
const view = ref([]);
const getPostArticleView = async () => {
    const res = await axios({
        method: 'post',
        url: '/articles/view/1',
    });
    view.value = res.data.data;
    console.log(view);
};

let hasExecuted = false;

onMounted(() => {
    if (!hasExecuted) {
        getPostArticleView();
        hasExecuted = true;
    }
});

const md = new MarkdownIt();
// 用于存储转换后的HTML内容,初始为空
const htmlContent = ref('');
watch(view, (newView) => {
    if (newView && newView.body && newView.body.content) {
        // 当view有有效数据时,进行Markdown转换
        htmlContent.value = md.render(newView.body.content);
    }
}, { immediate: false });
</script>

<template>
    <div id="article">
        <div class="textSpring">
            <h1>{{view.title}}</h1>
            <hr>
            <div v-html="htmlContent"></div>
        </div>
    </div>
</template>

<style scoped>
    #article{
        padding: 20px;
    }

    .textSpring{
        margin: 0 auto;
        border: 1px solid black;
        border-radius: 5px;
        width: 60%;
    }
</style>

文章封面:

相关推荐
Y淑滢潇潇4 分钟前
WEB 模拟学校官网
前端·css
一只小bit5 分钟前
Qt 网络:包含Udp、Tcp、Http三种协议的客户端实践手册
前端·c++·qt·页面
We་ct6 分钟前
LeetCode 238. 除了自身以外数组的乘积|最优解详解(O(n)时间+O(1)空间)
前端·算法·leetcode·typescript
AC赳赳老秦10 分钟前
低代码开发中的高效调试:基于 DeepSeek 的报错日志解析与自动修复方案生成
前端·javascript·低代码·postgresql·数据库架构·easyui·deepseek
乐迁~12 分钟前
前端PDF导出完全指南:JSPDF与HTML2Canvas深度解析与实战(上)
前端·pdf
大猫会长15 分钟前
css中,由基准色提取其他变体
前端·javascript·html
小土豆_77733 分钟前
Owl 2.8.1 核心语法速查表(新手专用)
前端·odoo/owl
firstacui39 分钟前
LVS三种模式搭建
前端·chrome
wanzhong233340 分钟前
开发日记13-响应式变量
开发语言·前端·javascript·vue
代码游侠43 分钟前
学习笔记——文件传输工具配置与Makefile详解
运维·前端·arm开发·笔记·学习