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

城厢区建设局网站北京网络科技公司有哪些

城厢区建设局网站,北京网络科技公司有哪些,海南省工程建设定额网站,软件开发一般多少钱文章目录 前言一、Hooks是什么#xff1f;二、图片转换Base641.Hooks2.使用 三、监听元素宽高#xff08;自定义指令Hooks#xff09;1.Hooks2.使用 总结 前言 本文主要记录了vue3学习中自定义Hooks和vue2中Mixins的使用与案例。 一、Hooks是什么#xff1f; Hooks用来处… 文章目录 前言一、Hooks是什么二、图片转换Base641.Hooks2.使用 三、监听元素宽高自定义指令Hooks1.Hooks2.使用 总结 前言 本文主要记录了vue3学习中自定义Hooks和vue2中Mixins的使用与案例。 一、Hooks是什么 Hooks用来处理复用代码逻辑的一些封装Hooks与Mixins不同点在于Hooks是函数。 在vue2中是以Mixins形式将相同的逻辑抽离各个组件只需要引入mixins就能使用mixins存在覆盖问题 组件data、methods、filters会覆盖mixins中同名data、methods、filters 使用VueUse库可以使用100多项用Hooks完成的功能 二、图片转换Base64 1.Hooks 代码如下 type Options {el:string } export default function (options:Options):Promise{baseUrl:string} {// ts-ignorereturn new Promise((resolve){onMounted((){let img:HTMLImageElement document.querySelector(options.el) as HTMLImageElementimg.onload () {resolve({baseUrl:base64(img)})}})const base64 (el:HTMLImageElement) {const canvas document.createElement(canvas)const ctx canvas.getContext(2d)canvas.width el.widthcanvas.height el.heightctx?.drawImage(el,0,0,canvas.width,canvas.height)return canvas.toDataURL(image/jpg)}}) }2.使用 代码如下 import useBase64 from ../../../../hooks/index useBase64({el: #img }).then(res{console.log(res.baseUrl) })三、监听元素宽高自定义指令Hooks 1.Hooks 这里要注意的是vue插件需要定义install方法在app.use()挂载时会调用该方法 /*** interSectionObserver 主要监听元素是否在视口内* MutationObserver 主要监听子集的变化 以及 元素的增删改查* ResizeObserver 主要监听元素宽高的变化*/ // ts-ignore import type { APP } from vue/*** 自定义Hooks监听元素宽高变化* param el* param callback*/ function useResize(el:HTMLElement,callback:Function) {let resize new ResizeObserver((entries){callback(entries[0].contentRect)})resize.observe(el) }/*** 自定义指令* vue插件 必须要有install方法在app.use()时会调用该方法* param app*/ const install (app:APP) {app.directive(resize, {mounted(el,binding) {useResize(el,binding.value)}}) } // 将install 挂载到useResize上的install上 useResize.install install export default useResize2.使用 script setup langtsimport {onMounted} from vue; import useResize from ../../../hooks/useResize; // 自定义Hooks onMounted((){useResize(document.querySelector(.box) as HTMLElement,(e:any){console.log(自定义Hooks,e)}) }) // 自定义指令 const aaa (e){console.log(自定义指令,e) } /scripttemplate div v-resizeaaa classbox/div /templatestyle scoped .box{overflow: hidden;border: 2px solid black;resize: both;width: 300px;height: 300px; } /style总结 本文主要记录了vue3学习中自定义Hooks和vue2中Mixins的使用与案例。
http://www.hkea.cn/news/14433426/

相关文章:

  • 芜湖移动网站建设电子商务网站开发课程教案
  • 太原网站建设制作机构用户注册
  • 厦门网站建设方案策划wordpress 编辑器 空格
  • 张槎建网站服务安全网站建设报价清单
  • 网站关键词是什么佛山伦教网站设计
  • 怎样做免费的网站建设厅特种作业
  • 亚马逊wordpress网站建设制作设计seo优化山东
  • 汕头兼职网站建设温岭网站建设公司
  • 加建网网站制作网线水晶头
  • 永城做网站做网站虚拟主机
  • 合肥网站建设过程服装网站建设方案
  • 网站建设市场推广招聘给我免费观看片在线
  • 主播做的头像在哪个网站上做的梅州免费建站
  • 博物馆网站做的好的网站首页引导页
  • 时尚女装网站模版抖音小程序开发一个多少钱
  • 企业营销型网站推广方法珠海主题网站设计模板
  • 江苏省建设协会网站100件机械创意产品设计
  • 深圳珠宝品牌网站设计网页设计与制作课程大纲
  • 个人免费网站注册滕州网站优化
  • 栾城做网站网站建设的行业代码是多少钱
  • 自己做网站用什么软件下载杭州赛虎网站建设
  • 青岛高级网站建设服务网站ui界面设计模板
  • 宁波市内做公司网站的公司广州3d建模培训机构
  • 17做网站 一件代发做感恩网站的图片大全
  • 建设网站怎么备案个人怎么注册小微企业
  • asp在线生成网站地图源代码电子商务网站建设 价格
  • 天河建设网站南通开发区人才网
  • 个人做网站哪种类型的网站好天津网络网站公司
  • 陕西省建设监理协会网站主页网站建设 投资合作
  • 潍坊建设企业网站wordpress 获取用户邮箱