uni-app 建议markDown相关插件 可以对照的那种

发布于 1周前 作者 nodeper 来自 Uni-App

uni-app 建议markDown相关插件 可以对照的那种

2 回复

专业团队承接双端(Android,iOS)原生插件开发,uni-app外包项目开发。
团队接受uni-app付费技术咨询,可远程调试。
联系QQ:1559653449


uni-app项目中,虽然官方没有直接提供Markdown编辑器或预览的插件,但我们可以通过集成第三方库来实现这一功能。这里,我将展示如何在一个uni-app项目中集成一个Markdown编辑器和一个Markdown预览组件。我们将使用marked库来解析Markdown,并结合Vue组件来实现对照功能。

步骤一:安装依赖

首先,在项目的根目录下,通过npm安装marked库:

npm install marked --save

步骤二:创建Markdown编辑器组件

components目录下创建一个MarkdownEditor.vue组件,用于Markdown编辑:

<template>
  <view class="editor-container">
    <textarea v-model="content" placeholder="输入Markdown内容..."></textarea>
  </view>
</template>

<script>
export default {
  data() {
    return {
      content: ''
    };
  },
  methods: {
    getContent() {
      return this.content;
    }
  }
};
</script>

<style>
.editor-container {
  padding: 16px;
}
textarea {
  width: 100%;
  height: 200px;
}
</style>

步骤三:创建Markdown预览组件

components目录下创建一个MarkdownPreview.vue组件,用于Markdown预览:

<template>
  <view class="preview-container" v-html="compiledMarkdown"></view>
</template>

<script>
import marked from 'marked';

export default {
  props: {
    content: {
      type: String,
      required: true
    }
  },
  computed: {
    compiledMarkdown() {
      return marked(this.content);
    }
  }
};
</script>

<style>
.preview-container {
  padding: 16px;
  background-color: #f5f5f5;
}
</style>

步骤四:在页面中使用组件

在需要展示Markdown编辑器和预览的页面中,引入并使用这两个组件:

<template>
  <view>
    <MarkdownEditor ref="editor" />
    <MarkdownPreview :content="editorContent" />
  </view>
</template>

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

export default {
  components: {
    MarkdownEditor,
    MarkdownPreview
  },
  data() {
    return {
      editorContent: ''
    };
  },
  mounted() {
    this.$refs.editor.getContent = (content) => {
      this.editorContent = content;
    };
  }
};
</script>

注意:上述代码中的this.$refs.editor.getContent调用方式需要稍作调整,因为getContent方法并未设计为可通过ref直接调用。实际应用中,可以通过监听编辑器内容变化的事件来更新editorContent

这样,你就实现了一个简单的Markdown编辑器与预览对照功能。根据实际需求,你可以进一步美化和完善这两个组件。

回到顶部