全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Vue.js结合Ueditor富文本编辑器的实例代码

在前端开发的项目中。难免会遇到需要在页面上集成一个富文本编辑器。
前一段时间公司Vue.js项目需要使用UEditor富文本编辑器,在百度上搜索一圈没有发现详细的说明,决定自己尝试,忙活了一天终于搞定了。

1. 总体思路

1.1 模块化

vue的很大的一个优势在于模块化,我们可以通过模块化实现页面和逻辑的复用。所以可以把Ueditor重新封装成一个.vue的模板文件。其他组件通过引入这个模板实现代码复用。

1.2 数据传输

首先父组件需要设置编辑器的长度、宽度、初始文本,这些数据可以通过props来传递。编辑器中的文本变化可以通过vue自定义事件向父组件传递。

2. 具体实现步骤

2.1 引入关键的JS以及CSS文件

将以下文件全部拷贝到项目中

2.2 配置Ueditor.config.js

首先配置URL参数,我们需要将这个路径指向刚才拷贝的文件的更目录,注意这里最好使用相对路劲。

var URL = window.UEDITOR_HOME_URL || '/static/ueditor/';

然后是默认宽度高度的设置

,initialFrameWidth:null // null表示宽度自动
,initialFrameHeight:320

其他功能的配置可以在官方文档查看

2.3 创建编辑器模板

我们需要在编辑器模板中import Ueditor核心JS库,并添加contentChange回调函数就大功告成了。

之所以使用import语法来引入核心JS库是因为这样更符合ES6模块化的规范,我看到网上有人建议在main.js中引入JS,但是过早地引入JS可能导致页面首次加载缓慢。

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

<script>
 /* eslint-disable */
 import '../../../assets/js/ueditor/ueditor.config';
 import '../../../assets/js/ueditor/ueditor.all';
 import '../../../assets/js/ueditor/lang/zh-cn/zh-cn';

 import { generateRandonInteger } from '../../../vuex/utils';

 export default {
 data() {
  return {
  id: generateRandonInteger(100000) + 'ueditorId',
  };
 },
 props: {
  value: {
  type: String,
  default: null,
  },
  config: {
  type: Object,
  default: {},
  }
 },
 watch: {
  value: function value(val, oldVal) {
  this.editor = UE.getEditor(this.id, this.config);
  if (val !== null) {
   this.editor.setContent(val);
  }
  },
 },
 mounted() {
  this.$nextTick(function f1() {
  // 保证 this.$el 已经插入文档

  this.$refs.editor.id = this.id;
  this.editor = UE.getEditor(this.id, this.config);

  this.editor.ready(function f2() {
   this.editor.setContent(this.value);

   this.editor.addListener("contentChange", function () {
   const wordCount = this.editor.getContentLength(true);
   const content = this.editor.getContent();
   const plainTxt = this.editor.getPlainTxt();
   this.$emit('input', { wordCount: wordCount, content: content, plainTxt: plainTxt });
   }.bind(this));

   this.$emit('ready', this.editor);
  }.bind(this));
  });
 },
 };
</script>

<style>
 body{
  background-color:#ff0000;
 }
</style>

3. 编辑器的使用

使用编辑器模板的时候我需要通过props传入config以及初始文本value。

<template xmlns:v-on="http://www.w3.org/1999/xhtml">
 <div class="edit-area">
  <ueditor v-bind:value=defaultMsg v-bind:config=config v-on:input="input" v-on:ready="ready"></ueditor>
 </div>

</template>

<script>
 import ueditor from './ueditor.vue';

 export default {
 components: {
  ueditor,
 },
 data() {
  return {
  defaultMsg: '初始文本', 
  config: {
   initialFrameWidth: null,
   initialFrameHeight: 320,
  },
  };
 },
 };
</script>

如果需要让Ueditor上传图片的话,还需要在后台配置一个接口。这部分还没有时间研究,等过几天补上

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Vue.js结合Ueditor  # Vue.js  # Ueditor  # js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标  # 不到200行 JavaScript 代码实现富文本编辑器的方法  # 使用JavaScript实现表格编辑器(实例讲解)  # JSP实用教程之简易页面编辑器的实现方法(附源码)  # JS模仿编辑器实时改变文本框宽度和高度大小的方法  # 分享9个最好用的JavaScript开发工具和代码编辑器  # node.js集成百度UE编辑器  # Javascript实现简单的富文本编辑器附演示  # javascript获取ckeditor编辑器的值(实现代码)  # 4个顶级JavaScript高级文本编辑器  # 编辑器  # 可以通过  # 复用  # 文档  # 还没有  # 是因为  # 首次  # 几天  # 要在  # 我们可以  # 这部  # 大功告成  # 自定义  # 还需  # 回调  # 上传图片  # 补上  # 大家多多  # 搞定了  # 更符合 


相关文章: 在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  济南专业网站制作公司,济南信息工程学校怎么样?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何在Windows虚拟主机上快速搭建网站?  如何在建站之星网店版论坛获取技术支持?  如何在Golang中指定模块版本_使用go.mod控制版本号  如何登录建站主机?访问步骤全解析  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  如何在腾讯云服务器快速搭建个人网站?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  制作网站外包平台,自动化接单网站有哪些?  如何通过主机屋免费建站教程十分钟搭建网站?  网站制作壁纸教程视频,电脑壁纸网站?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  网站制作报价单模板图片,小松挖机官方网站报价?  如何选择适合PHP云建站的开源框架?  北京制作网站的公司,北京铁路集团官方网站?  香港服务器WordPress建站指南:SEO优化与高效部署策略  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  建站之星3.0如何解决常见操作问题?  微信h5制作网站有哪些,免费微信H5页面制作工具?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  如何选择建站程序?包含哪些必备功能与类型?  建站主机服务器选购指南:轻量应用与VPS配置解析  网站按钮制作软件,如何实现网页中按钮的自动点击?  制作证书网站有哪些,全国城建培训中心证书查询官网?  如何选择服务器才能高效搭建专属网站?  盐城做公司网站,江苏电子版退休证办理流程?  常州企业网站制作公司,全国继续教育网怎么登录?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  建站之星Pro快速搭建教程:模板选择与功能配置指南  网站好制作吗知乎,网站开发好学吗?有什么技巧?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  如何在Windows服务器上快速搭建网站?  建站主机与虚拟主机有何区别?如何选择最优方案?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  5种Android数据存储方式汇总  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  javascript中对象的定义、使用以及对象和原型链操作小结  制作公司内部网站有哪些,内网如何建网站?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  如何基于云服务器快速搭建网站及云盘系统?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  网站设计制作企业有哪些,抖音官网主页怎么设置?  如何使用Golang安装API文档生成工具_快速生成接口文档  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。