视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
利用cropper.js封装vue如何实现在线图片裁剪组件功能(详细教程)
2020-11-27 19:41:55 责编:小采
文档
 这篇文章主要介绍了基于cropper.js封装vue实现在线图片裁剪组件功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下

效果图如下所示,

github:demo下载

cropper.js

github:cropper.js

官网(demo)

cropper.js 安装

  • npm或bower安装

  • clone下载:下载地址

    git clone https://github.com/fengyuanchen/cropper.git

    引用cropper.js

    主要引用cropper.js跟cropper.css两个文件

    注意:必须先引入jquery文件,才能使用cropper.js插件

    简单使用

    构建截图所要用到的p容器

    添加容器的样式,让img填充满整个容器(很重要)

    调用cropper.js方法,初始化截图控件

    其他详细api请参考:github:cropper.js

    封装成vue组件

    封装成vue组件中需解决的问题

  • cropper.js相关

  • 模拟input框点击选择图片并对选择的图片进行格式、大小

    重新选择图片裁剪

    确认裁剪并获取base格式的图片信息

  • vue相关

  • 非父子组件之间的通信问题

    模拟input框点击选择图片并对选择的图片进行格式、大小

    构建一个隐藏的input标签,然后模拟点击此input,从而达到能选择图片的功能

    给input绑定一个监听内容变化的方法,拿到上传的文件,并进行格式、大小校验

    重新选择图片裁剪

    当第一次选择图片之后,肯定会面临需要重选图片的问题,那么就会面临如何替换掉裁剪框中的图片,上面的步骤选择了图片后通过FileRender()方法拿到了图片的主要信息,现在就需要重新构建裁剪框就可以解决问题了,查看cropper.js给出的官方demo,发现官方是使用动态添加裁剪容器的方法,进行操作的,这里我们仿照官方进行实现。

    确认裁剪并获取base格式的图片信息

    构造用于上传的数据

    非父子组件之间的通信问题

    在之前的项目中,常用到父子组件之间的通信传参,一般用两种方法

    在router里面放置参数,然后通过调用route.params.xxx或者route.query.xxx进行获取

    通过props进行通信

    这里我们使用eventBus进行组件之间的通信

    步骤

    1.声明一个bus组件用于B组件把参数传递给A组件

    2.在A组件中引用bus组件,并实时监听其参数变化

    3.B组件中同样引用bus组件,来把参数传给A组件

    参考:

    vue-$on
    vue-$emit
    vue.js之路(4)——vue2.0s中eventBus实现兄弟组件通信

    vue选图截图插件完整代码

    BY-LucaLJX

    github: lucaljx

    上面是我整理给大家的,希望今后会对大家有帮助。

    相关文章:

    JavaScript满天星导航栏实现方法

    详解从买域名到使用pm2部署node.js项目全过程

    layui select动态添加option的实例

    下载本文
    显示全文
    专题