参考和体验地址:

开发文档:https://hacpai.com/article/1549638745630

体验地址:https://hacpai.com/guide/markdown

 

Angular中使用:

1.安装依赖:

npm install vditor --save

2.在代码中引入并初始化对象:

import Vditor from 'vditor'
import "~vditor/src/assets/scss/index"

const vditor = new Vditor(id, {options...})

页面中使用:

test.html

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vditor/dist/index.css" />
<script src="https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js" defer></script>
<div id="vditor"></div>
<div (click)="getEditorValue()">获取富文本编辑器里面的数据信息</div>

test.ts

import {Component, OnInit} from '@angular/core';
import Vditor from 'vditor';
@Component({
  selector: 'app-testdemo',
  templateUrl: './testdemo.component.html',
  styleUrls: ['./testdemo.component.less']
})
export class TestdemoComponent implements OnInit {
  constructor() {}
  vditor: Vditor; 
  // File:[];
  ngOnInit(): void {
    this.vditor = new Vditor('vditor', {
      toolbarConfig: {
        pin: true,
      },
      cache: {
        enable: false,
      },
      after: () => { 
        // this.vditor.setValue('Hello, Vditor + Angular!');
        //this.vditor.setValue('<p><img src="https://jinqiaooss.oss-cn-beijing.aliyuncs.com/bxshop/2020-08-05/5f2a21b0470f5.jpg" alt="001.jpg" /><br /><img src="https://jinqiaooss.oss-cn-beijing.aliyuncs.com/bxshop/2020-08-05/5f2a21b07cb7b.jpg" alt="002.jpg" /></p>');
      },
      //toolbar:[],
      upload:{
        url:"http://shop.test01.com/api/imgUpload",
        linkToImgUrl:"http://shop.test01.com/api/imgUpload",
        fieldName:"file[]",
        max:1048576,
        format:(File,msg)=>{
          // console.log("============格式化拿到的数据信息File============");
          let customObj={};
          let dealData=JSON.parse(msg)['data'];
          for(let i=0;i<File.length;i++){
            // console.log(File[i]['name']);
            customObj[File[i]['name']]=dealData[i];
          }
          let cusObj={  
            "msg": "",  
            "code": 0,  
            "data": {  
            // "errFiles": ['filename', 'filename2'],  
            "succMap": customObj  
            }  
           }
          return JSON.stringify(cusObj);
        },
        error:(res)=>{
          // console.log("============上传失败返回的数据信息============");
          // console.log(res);
        },
        linkToImgCallback:(responseText)=>{
          // console.log("============图片地址上传的回调数据============");
          // console.log(responseText);
        }
      }
    });
    
  }
  getEditorValue(){
    console.log("============获取编辑器内容============");
    console.log(this.vditor.getValue());
    console.log("============获取编辑器Html内容============");
    console.log(this.vditor.getHTML());
  }

}