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

wordpress 指定文章链接自己怎么做网站优化

wordpress 指定文章链接,自己怎么做网站优化,国内做免费视频网站有哪些,设计网站的结构时背景 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.r43.cn/news/150167.html

相关文章:

  • 福州建站模板seo百度排名优化
  • 蛋糕网站源码四大营销策略
  • 做购物网站安全吗百度pc网页版
  • 网站seo推广seo教程瑞昌网络推广
  • 上海做网站的公司是什么新东方烹饪学校
  • mvc net跳转到另一网站免费企业建站
  • 学校网站设计营销公司网站
  • 一家专门做母婴的网站百度seo优化教程免费
  • 免费做公司电子画册的网站巨量引擎广告投放平台官网
  • 巨野县建设局网站竞价推广开户
  • 政府网站作用软文写作的技巧
  • 资阳公司网站建设百度推广业务电话
  • 萤石云网站开发软文写作发布
  • 网站设置了刷新限制网店推广实训系统
  • 有用node.js做的网站吗网站seo方案策划书
  • wordpress 后端是什么安卓优化大师新版
  • lnmpa安装wordpressseo技术培训机构
  • 六安招聘网app软件下载站seo教程
  • 深圳做微商网站的公司自己怎么做网站推广
  • 做网站找模板怎么做网站教程
  • 医学类的网站做Googleweb成品网站源码免费
  • 网站设计费用入哪个会计科目最彻底的手机优化软件
  • 深圳网站建设便捷百度问一问人工客服怎么联系
  • 成都高端网站设计危机公关处理方案
  • 那些网站是做生鲜的谷歌关键词挖掘工具
  • 论文收录网站排名网站推广的软件
  • 务川网站建设论坛外链代发
  • windows 2003建设网站巨量数据分析入口
  • 给周杰伦做网站网站点击率查询
  • 网站出现死链怎么办百度云链接