vue封装公共方法、组件

在这段时间工作中,有需求要封装一些公共的方法和组件,下面就介绍一下我的解决方案。

1.在创建public文件夹/pubTool.js文件
在文件中引入vue实例

import Vue from 'vue'
import { Message, MessageBox, Loading } from 'element-ui';

2.使用vue.extend()构造相对于组件的子类,例如:我现在有一个公共页面,图片裁剪页面,主要用来进行图片裁剪上传。代码如下:

<template>
    <div>
        <el-dialog :title="'编辑'+funcName" :visible="visible" style="overflow:hidden;" width="900px" top="5%" :before-close='function(){ visible=false }' :append-to-body="true" :close-on-click-modal="false">
            <div v-loading="loading" :element-loading-text="loadingTitle" :element-loading-spinner="loadingIcon">
                <div style="height:600px">
                    <div class="vue-cropper-box" style="height:500px; ">
                        <div class="vue-cropper-content">
                            <div style="margin-bottom:5px;font-size:12px;color:#999">
                                小贴士:可通过鼠标滚轮放大或缩小图片哦
                            </div>
                            <vueCropper ref="cropper"
                                        @realTime="realTime"
                                        :img="option.img"
                                        :outputSize="option.outputSize"
                                        :outputType="option.outputType"
                                        :canScale="option.canScale"
                                        :autoCrop="option.autoCrop"
                                        :autoCropWidth="option.autoCropWidth"
                                        :autoCropHeight="option.autoCropHeight"
                                        :fixed="option.fixed"
                                        :fixedBox="option.fixedBox"
                                        :fixedNumber="option.fixedNumber"></vueCropper>
                            <el-upload class="avatar-uploader"
                                       action="#"
                                       :auto-upload="false"
                                       :accept="$pubTool.UPLOADIMGFORMAT"
                                       :on-change="(file) => { selectedFile(file, 'coverPath', option.folder, 0, 0,1, 'NONE', true);updateImage()}"
                                       :show-file-list="false">
                                <el-button type="primary" style="margin-top:10px;">重新选择{
  {funcName}}</el-button>
                            </el-upload>
                        </div>
                        <div style="flex:1;box-sizing:border-box;margin-top:17px">
                            <d
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值