wangEditor 2.0版本简单封装为vue组件

<template>
  <div>
    <div id="editor">
    </div>
  </div>
</template>

<script>
//1.https://www.kancloud.cn/wangfupeng/wangeditor2
//npm install wangeditor
import   ‘./dist/js/lib/jquery-1.10.2.min.js‘
import   ‘./dist/js/wangEditor.js‘
import   "./dist/css/wangEditor.min.css";

export default {
  name: ‘wangEditor‘,
  data(){
    return {
      editor: null
    }
  },
  props: {
    editorDefault: {
      type: String,
      default: ‘<p><br/></p>‘
    },
  },
  mounted() {
    this.editor = new wangEditor(‘editor‘);
    this.editor.config = {
      ...this.editor.config,     //
      pasteFilter: false,        //关闭样式过滤
      uploadImgUrl: ‘/rest/picture/multiUpload‘,    //上传图片地址
      uploadHeaders : {      //数据流名称
        ‘name‘ : ‘file‘
      },
    }

    this.editor.config.uploadImgFns.onload =  (resultText, xhr) =>{
        // resultText 服务器端返回的text
        // xhr 是 xmlHttpRequest 对象,IE8、9中不支持

        // 上传图片时,已经将图片的名字存在 editor.uploadImgOriginalName
        // var originalName = this.editor.uploadImgOriginalName || ‘‘;  

        // 如果 resultText 是图片的url地址,可以这样插入图片:

        const url = JSON.parse(resultText).data[0]
        // this.editor.command(null, ‘insertHtml‘, ‘<img src="‘ + url + ‘" style="max-width:100%;"/>‘);
        // 如果不想要 img 的 max-width 样式,也可以这样插入:
        this.editor.command(null, ‘InsertImage‘, url);
    };

    // 自定义timeout事件
    this.editor.config.uploadImgFns.ontimeout = function (xhr) {
        // xhr 是 xmlHttpRequest 对象,IE8、9中不支持
        alert(‘上传超时‘);
    };

    // 自定义error事件
    this.editor.config.uploadImgFns.onerror = function (xhr) {
        // xhr 是 xmlHttpRequest 对象,IE8、9中不支持
        alert(‘上传错误‘+xhr);
    };

    this.editor.create()
    this.$emit(‘ready‘)
    this.editor.$txt.html(this.editorDefault)
  },
  created(){
  },
  methods: {
    setContent(val) {    //设置内容
      this.editor.$txt.html(val)
    },
    clearContent() {    //清空内容
      // this.editor.txt.clear()
      this.editor.$txt.html(this.editorDefault)
    },
    getContent() {      //获取内容
      var content = this.editor.$txt.html()
      if (content.replace("<p><br></p>","").trim() !="" ) {
        return this.editor.$txt.html()
      }else{
        return ""
      }
    }
  }

}
</script>

<style lang="less" >
  .wangEditor-txt {    //防止外部样式覆盖默认样式
    height: 400px ;
      h1 {font-size: 2em; margin: .67em 0 }

      h2 {font-size: 1.5em; margin: .75em 0 }

      h3 {font-size: 1.17em; margin: .83em 0 }

      h4, p,blockquote, ul, fieldset, form, ol, dl, dir, menu { margin: 1.12em 0 }

      h5 {font-size: .83em; margin: 1.5em 0 }

      h6 {font-size: .75em; margin: 1.67em 0 }

      h1, h2,h3, h4, h5, h6, b,strong { font-weight: bolder }
      b {
        font-weight: 700;
      }
      i, cite,em,var, address { font-style: italic }
  }

</style>
<style lang="less" scoped>

</style>

以上为组件index.vue文件

组件目录

使用

清除

设置

获取

原文地址:https://www.cnblogs.com/wendyAndJken/p/9293692.html

时间: 2024-11-10 05:08:34

wangEditor 2.0版本简单封装为vue组件的相关文章

axios的简单封装及在组件内使用

/**第一步 * 配置编译环境和线上环境之间的切换 * baseUrl: 域名地址 * routerMode: 路由模式 * imgBaseUrl: 图片所在域名地址 * */ let Host = ''; let routerMode = 'hash'; //let imgBaseUrl; if(process.env.NODE_ENV == 'development') { Host = 'http://test.xxx.com'; //测试环境 host //imgBaseUrl = 'h

vue组件篇(2)---封装组件并发布到npm

瞎说说 vue小白,要进行应用开发:你们都用什么UI框架,求指教,不想踩坑(想太多,不踩坑???不存在的!!!too young too simple-) 同学1:pc端我用element UI,感觉组件的API方法.属性比较完善...?? 同学2:哈?我个人感觉他的样式有些生硬,不够炫酷美观??,用iView吧,组件丰富,动画效果cool~~~?? 同学3:真的吗?阔是有人说,iView组件虽然完美的把其他UI组件有的缺点完美避过,但是某某组件不够人性化....?? 同学4:用vue-beau

封装Vue组件的一些技巧

封装Vue组件的一些技巧 本文同步在个人博客shymean.com上,欢迎关注 写Vue有很长一段时间了,除了常规的业务开发之外,也应该思考和反思一下封装组件的正确方式.以弹窗组件为例,一种实现是在需要模板中引入需要弹窗展示的组件,然后通过一个flag变量来控制弹窗的组件,在业务代码里面会充斥着冗余的弹窗组件逻辑,十分不优雅. 本文整理了开发Vue组件的一些技巧,包含大量代码示例. 开发环境 vue-cli3提供了非常方便的功能,可以快速编写一些测试demo,是开发组件必备的环境.下面是安装使用

httpclient4.3简单封装

对httpclient4.3版本的一个简单封装,下面是代码 /**  * httputil工具类  *   * @author rex  */ public class HttpUtil {     private static CloseableHttpClient client;     private static BasicCookieStore cookieStore;     private static HttpGet get;     private static HttpPos

8、Cocos2dx 3.0游戏开发找小三之3.0版本的内存管理

重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27693365 复杂的内存管理 移动设备上的硬件资源十分有限,内存尤为宝贵,开发者必须十分慎重地利用内存,避免不必要的消耗,更要防止内存泄漏. 基于 Cocos2d-iPhone 的 Objective-C风格的内存管理是 Cocos2d-x 的一个特色. 把 Objective-C 的内存管理方式引入 C++,使得游戏开发的内存管理难度下降了个层次.

nodeweibo对新浪微博接口的简单封装

一.前言 就在去年12月份,有个想法是使用node爬取微博的数据,于是简单的封装了一个nodeweibo这个库.时隔一年,没有怎么维护,中途也就将函数形式改成了配置文件.以前做的一些其他的项目也下线了,为了是更加专注前端 & node.js.偶尔看到下载量一天超过60多,持续不断的有人在用这个库,但是看下载量很少也就没有更新.但是昨天,有人pull request这个分支了,提出一些中肯的建议和有用的代码.于是就认真回顾了下nodeweibo,发布了v2.0.3这个版本. 二.什么是nodewe

从零开始教你制作cocos2dx-3.0 版本FlappyBird(可上架版本)(包括添加广告等)完整制作过程

本文原创:转载请注明地址:http://blog.csdn.net/zp522123428/article/details/29357851 一.coco2dx-3.0环境搭建 这个网上很多参考教程也属于基础部分我就不再敷述,这里给大家提供csdn博客上的大家可以参考一下,我大概看了一下比较全面了: 参考地址:http://blog.csdn.net/aa4790139/article/details/8086635 二.coco2dx-3.0下创建项目 1.进入coco2dx-3.0的目录下,

AEAI WX 微信扩展框架 V1.0 版本发版说明

AEAI WX 微信扩展框架是基于 Java 封装的微信公众号二次开发框架,基于该框架可以快速接入微信,实现自定义菜单创建.信息按规则自动回复.集成企业的线上系 统(HR.CRM.微店.网站等).同时可以整合集成互联网开放资源(如:百度地图.天气预报.热映电影等). 本次发版的AEAI WX 微信扩展框架为v1.0版本,该产品现已开源并上传至开源中国,产品下载地址:http://pan.baidu.com/s/1ntsXKCT,欢迎大家下载使用,也可以加入数通畅联产品QQ技术群 29971983

基本springboot 2.0版本 spring-cloud的使用

Spring Cloud与Spring Boot版本匹配关系 Spring Cloud Spring Boot Finchley 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x Dalston和Edgware 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x Camden 兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x Brixton 兼容Spring Boot 1.3.x,也兼容Spring B