当前位置: 首页 > news >正文

wordpress网站amp百度邮箱注册入口

wordpress网站amp,百度邮箱注册入口,咸阳企业做网站,廊坊专业网站制作服务背景 npm i -S view-design当前老项目使用view-design这个组件库,但是当我们去官网查看该组件库最新版本,竟然发现没有博主想用的image/ImagePreivew这两个基础组件 说实话,有点离谱了哈!! 自己造轮子? …

背景

npm i -S view-design

当前老项目使用view-design这个组件库,但是当我们去官网查看该组件库最新版本,竟然发现没有博主想用的image/ImagePreivew这两个基础组件

说实话,有点离谱了哈!!

自己造轮子?

貌似为了一天的小需求,不太可能,直接找view-design的弟弟view-ui-plus它的这两个基础组件,然后整合进去

进入主题

  1. 先给大家介绍一个vs-code的插件,这样大家操作起来会简单点(好有爱的博主!!)
  2. 在这里插入图片描述

在这里插入图片描述
然后利用这个插件,把viewuiplus的源码打开,找到这image/ImagePreivew两个组件的代码,
接下来我会说一下,我们需要更改的部分

  1. 当你把源码放到项目,那么你项目中就会多出这两个组件的文件夹,就想这样在这里插入图片描述

由于view-design是基于vue2.x版本封装的组件,而view-ui-plus是基于vue3.x写的。拷贝之后,代码中会出现很多新的api和组件使用,我们要一一替换成vue2.x版本的写法。

替换写法【要先初步看看这两个组件的代码哈】

.vue文件
文件中出现的getCurrentInstance()的api,是vue3组合api中用来获取vue实例的,所以我们在vue2中,直接this就可以, 用代码表述意思就是

// vue3
import { getCurrentInstance } from 'vue';// 获取组件实例
const global = getCurrentInstance().appContext.config.globalProperties;
// vue2
this

但是,这里直接采用固定的默认值就行,举个栗子【其他的同理改】

transfer: {type: Boolean,default () {const global = getCurrentInstance().appContext.config.globalProperties;return !global.$VIEWUI || global.$VIEWUI.transfer === '' ? false : global.$VIEWUI.transfer;}
},

替换成

transfer: {type: Boolean,default () {return false;}
},

image-preview.js
默认都是vue3的写法,它直接使用了vue库中提供的createApphgetCurrentInstance, 以及mount方法, 我们改写成vue2写法:

ImagePreview.newInstance = properties => {if (!isClient) return;...const Instance = new Vue({...render () {return h => h(ImagePreview, Object.assign({}, _props, {...}));},...created () {_instance = this.$el;}});...Instance.$mount(container);...
};export default ImagePreview;

迁移一部分工具代码
以下的方法需要自己把源码(在utils中)拷过来,然后导入即可

  • isClient;搬用人家的方法
  • downloadFile; 搬用人家的方法
  • keyCode

// keycode代码,其他不用的就删掉了

const KeyCode = {/*** ESC*/ESC: 27,/*** SPACE*/SPACE: 32,/*** LEFT*/LEFT: 37, // also NUM_WEST/*** UP*/UP: 38, // also NUM_NORTH/*** RIGHT*/RIGHT: 39, // also NUM_EAST/*** DOWN*/DOWN: 40, // also NUM_SOUTH
};export default KeyCode;

修改导入

// 下面导入可以直接用
import { on, off } from "view-design/src/utils/dom";
import throttle from "lodash.throttle";
// 按照上面的迁移哦
import { isClient, downloadFile } from "../../utils";
// 按照上面的迁移哦
import KeyCode from "../../utils/keyCode";
import { transferIndex, transferIncrease } from "view-design/src/utils/transfer-queue";
import TransferDom from 'view-design/src/directives/transfer-dom';

特殊说明:image-preview.vue

teleport组件是vue3的内置组件,这里起初我用了适合vue2的自定义teleport的组件(感兴趣的可以看看vue2-teleport库的实现),但是发现view-design中有自定义指令TransferDom实现了同样的功能,所以就直接用自带的啦

 <teleport to="body" :disabled="!transfer">...</teleport>

更改为:

<div v-transfer-dom :data-transfer="transfer">...
</div>

写到最后

使用方式同view-ui-plus的Image/ImagePreview组件, 直接查看使用即可。

如果帮助到大家,帮忙点个免费的赞就行啦,让博主知道帮到了大家开心开心!!!

http://www.15wanjia.com/news/182669.html

相关文章:

  • 做搜狗网站关键词排名网站开发 接单
  • 做京东网站需要哪些手续网站模板asp
  • 医院网站方案wordpress 新闻插件
  • 网站怎么改版自适应凡客诚品公司介绍
  • 泽州县住房保障和城乡建设局网站vi设计 站酷
  • 网站开发心得500字厦门网站建设 软件园
  • 备案网站应用服务我想要个网站
  • j建网站站酷网站
  • 商贸办公网站入口最好企业网站
  • 专做美妆的网站网站开发远程服务器如何设置
  • 手机购买网站源码wordpress不会发送电子邮件
  • 提交谷歌网站广安发展建设集团门户网站
  • 制定网站分工任务网站的建设规划建网站原型图
  • app模板网站网站建设销售培训语
  • 网站自适应手机怎么兰州有制作网站
  • 方山建站报价深圳做分销网站
  • 事业单位备案网站网页特效大全
  • 营销网站开发哪家强cad制图培训
  • 哪里有好网站设计wordpress前台显示作者角色
  • 建站方案书备案科技网络有限公司
  • 商业网站建设预估收益wordpress延时加载插件
  • 莲湖免费做网站官方网站建设 省心磐石网络
  • 怎么让网站排名下降wordpress 灯箱
  • 网站的申请做电影网站需要注意什么东西
  • 网站的访问量统计怎么做产品展示型网站有哪些
  • 上饶网站建设兼职网上哪个网站教做西点
  • 做pvc卡片的交流网站互联网家装平台有哪些
  • 网站优化包括整站优化吗一个网站需要多长时间
  • 做电影网站配什么公众号免费特效模板下载
  • 西安网站建设制作需要哪些费用贾汪网架公司