vue项目中应用ueditor自定义上传按钮功能


Posted in Javascript onApril 27, 2018

由于上传地址问题,需要自定义上传按钮,效果如图

vue项目中应用ueditor自定义上传按钮功能

由于在页里面没有操作dom,所以想到了用vue的 自定义事件绑定$emit 、$on来把点击事件传递给ueditor。

首先是给ueditor添加自定义按钮:

1,打开ueditor.all.js,找到btnCmds,大概在27854行,如下图,在数组添加一个自定义的按钮名称,我写的是"love"

vue项目中应用ueditor自定义上传按钮功能

ueditor.all.js

2,给按钮添加事件

还是在ueditor.all.js文件内找到commands指令 给刚才定义的按钮扩展事件,如下:

vue项目中应用ueditor自定义上传按钮功能

给按钮添加事件

我这里绑定的事件在vue里面已经定义好了 这里用$emit 绑定上去,然后在页面里面监听。bus是自定义的vue实例,因为整个项目是结合vue在使用。

3.给按钮添加图标icon

打开themes/default/css/ueditor.css.在文件下面添加即可,如下:

.edui-default .edui-toolbar .edui-for-love .edui-icon {
  background: url(../images/video.png) no-repeat 50% 50%;
}

这里的.edui-for-love后面的love就是刚才定义按钮的名称,由于我所有按钮都重写样式了,所以全部采用覆盖了;

vue项目中应用ueditor自定义上传按钮功能

给按钮添加图标

4. 页面监听点击事件

这里的内容就是vue的基础了,可以自己看文档,简单如下

vue项目中应用ueditor自定义上传按钮功能

先给页面定义一个元素添加绑定事件

vue项目中应用ueditor自定义上传按钮功能

然后监听ueditor传递过来的点击事件showUpload

vue项目中应用ueditor自定义上传按钮功能

在methods里面定义showUpload事件(这里命名重复了 无所谓)

这样 ,自定义上传按钮已经完成了。

下面给大家介绍vue项目中使用ueditor的例子

以vue-cli生成的项目为例

1.static文件夹下先放入ueditor文件

2.index.html添加如下代码

<script type="text/javascript" charset="utf-8" src="static/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="static/ueditor/ueditor.all.min.js"></script>

3.webpack.base.conf.js添加如下配置

externals: {
  'UE': 'UE',
 },

4.index.html中添加

<script type="text/javascript">
 window.UEDITOR_HOME_URL = "/static/ueditor/";//配置路径设定为UEditor所放的位置
</script>

5.editor组件

<template>
 <div>
  <mt-button @click="geteditor()" type="danger">获取</mt-button>
  <script id="editor" type="text/plain" style="width:1024px;height:500px;"></script>
 </div>
</template>
<script>
const UE = require('UE');// eslint-disable-line
export default {
 name: 'editorView',
 data: () => (
  {
   editor: null,
  }
 ),
 methods: {
  geteditor() {
   console.log(this.editor.getContent());
  },
 },
 mounted() {
  this.editor = UE.getEditor('editor');
 },
 destroyed() {
  this.editor.destroy();
 },
};
</script>
<style>
</style>

总结

以上所述是小编给大家介绍的vue项目中应用ueditor自定义上传按钮功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js(JavaScript)实现TAB标签切换效果的简单实例
Feb 26 Javascript
QQ空间顶部折页撕开效果示例代码
Jun 15 Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 Javascript
Angular2 Service实现简单音乐播放器服务
Feb 24 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
Mar 07 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
Aug 17 Javascript
vue源码学习之Object.defineProperty 对数组监听
May 30 Javascript
详解如何使用koa实现socket.io官网的例子
Nov 04 Javascript
React 使用Hooks简化受控组件的状态绑定
Mar 18 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
May 03 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
Sep 26 Javascript
vue2.x 对象劫持的原理实现
Apr 19 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
Apr 27 #Javascript
微信小程序中添加客服按钮contact-button功能
Apr 27 #Javascript
Node.js文件编码格式的转换的方法
Apr 27 #Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
Apr 27 #jQuery
基于Vue实现拖拽效果
Apr 27 #Javascript
Node.js利用console输出日志文件的方法示例
Apr 27 #Javascript
vue拦截器实现统一token,并兼容IE9验证功能
Apr 26 #Javascript
You might like
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
基于javascript实现句子翻牌网页版小游戏
2016/03/23 Javascript
原生js仿jquery animate动画效果
2016/07/13 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
详解Python中的日志模块logging
2015/06/19 Python
详解Python的Twisted框架中reactor事件管理器的用法
2016/05/25 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
人工神经网络算法知识点总结
2019/06/11 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
python脚本后台执行方式
2019/12/21 Python
python实现从ftp服务器下载文件
2020/03/03 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
python三引号如何输入
2020/07/06 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
茶叶生产计划书
2014/01/10 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2015年领班工作总结
2015/04/29 职场文书
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS