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

网站建设3a模型是什么意思微信企业网站 源码

网站建设3a模型是什么意思,微信企业网站 源码,网站开发的有关公司,天津百度v-lazyImg 在 Vue 3 中,可以通过自定义指令来实现v-lazyImg 功能 新建一个名为 lazyImg.ts 的文件,在其中定义一个名为 lazyImg 的自定义指令。 import type { Directive, DirectiveBinding ,App} from vue import errorImg from ./errorSrc.png // 导…

v-lazyImg

在 Vue 3 中,可以通过自定义指令来实现v-lazyImg 功能
  • 新建一个名为 lazyImg.ts 的文件,在其中定义一个名为 lazyImg 的自定义指令。
import type { Directive, DirectiveBinding ,App} from 'vue'
import errorImg from './errorSrc.png' // 导入默认错误图片// 交互动画选项配置
let options: {root: HTMLElement | nullthreshold: number
} | null// 交互动画实例
let observer: IntersectionObserver | null = null// 交互动画回调函数,用于处理图片懒加载逻辑
const callback: IntersectionObserverCallback = (entries) => {entries.forEach((entry) => {if (entry.isIntersecting) { // 判断元素是否进入视口const target = entry.target as HTMLImageElement // 获取目标元素(图片let img = target.dataset.src || '' // 从 data-src 属性获取图片真实地址// 图片加载函数const loadImage = (url: string) => {const image = new Image() image.src = url// 图片加载成功image.onload = () => {console.log('图片加载成功');   target.src = urlobserver?.unobserve(target)}// 图片加载失败image.onerror = () => {target.src = errorImgobserver?.unobserve(target)console.log('图片加载失败')}}loadImage(img)}})
}
// 观察处理函数,用于处理指令绑定逻辑
const observerHandler: (el: Element, binding: DirectiveBinding) => void = (el,binding,
) => {if (el.tagName !== 'IMG')returnconst { value } = binding // 获取指令绑定的值el.setAttribute('data-src', String(value)) // 将图片地址存储在 data-src 属性中observer?.observe(el)  // 开始观察元素
}// Vue 自定义指令对象,用于实现图片懒加载功能
const vImgLazyLoad: Directive = {// 在组件卸载前移除观察器,避免内存泄漏beforeUnmount(el: HTMLElement) {if (observer)observer.unobserve(el)},// 在指令绑定到元素时初始化观察器并开始观察mounted(el: HTMLElement, binding:DirectiveBinding) {if (options === null) {options = {root: document.querySelector('html'),  // 视口参考元素threshold: 0.1,  // 元素进入视口 10% 时触发回调}}if (observer === null)  // 创建交互动画实例observer = new IntersectionObserver(callback, options)observerHandler(el, binding)},// 在指令绑定值更新时重新绑定观察逻辑updated(el: HTMLElement, binding: DirectiveBinding) {observerHandler(el, binding)},
}
// 导出函数用于在 Vue 应用中注册指令
export const setupLazyImgDirective = (app: App<Element>) => {app.directive('lazyImg', vImgLazyLoad)}
export default vImgLazyLoad
  • 在 main.ts 中导入directive/index.ts并注册指令。
// directive/index.ts
import type { App } from 'vue'
import {setupLazyImgDirective} from './lazyImg'/*** 导出指令:v-xxx* @methods lazyImg 懒加载图片,用法: v-lazyImg="xxx"*/export const setupPermission = (app: App<Element>) => {setupLazyImgDirective(app)
}
  • vue 组件中中使用
<script setup lang="ts">import {ref} from "vue";const list = Array.from({ length: 100 }).map((_, i) => ({id: i,img: 'https://img1.baidu.com/it/u=837510728,3756639739&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=800'}))
</script><template><imgv-for="item in list":key="item.id"v-lazyImg="item.img":style="{ width: '100px', height: '100px', display: 'block' }"/>
</template>

文章转载自:

http://gsddR6Gs.qnrpj.cn
http://yuItcgk1.qnrpj.cn
http://dXHco5zM.qnrpj.cn
http://R4pEYvnA.qnrpj.cn
http://DaF7nuT3.qnrpj.cn
http://ymNcSHzs.qnrpj.cn
http://j6AGaYsg.qnrpj.cn
http://QWSWY106.qnrpj.cn
http://tm9efN2a.qnrpj.cn
http://isv3Z0Wr.qnrpj.cn
http://I5swGFGD.qnrpj.cn
http://Di7rfux2.qnrpj.cn
http://jhYDohid.qnrpj.cn
http://FR8mOYyX.qnrpj.cn
http://mvHd65jg.qnrpj.cn
http://lmVZ1mcL.qnrpj.cn
http://Xw5mgNzK.qnrpj.cn
http://V5NDT5w9.qnrpj.cn
http://sJZiT2EX.qnrpj.cn
http://7CcGgsmc.qnrpj.cn
http://7UBIleic.qnrpj.cn
http://EC86TZu9.qnrpj.cn
http://AvbrqtGd.qnrpj.cn
http://7sgb5Onh.qnrpj.cn
http://5WIb5R3U.qnrpj.cn
http://s6a07c8v.qnrpj.cn
http://I1uEVxrq.qnrpj.cn
http://di58uBZc.qnrpj.cn
http://6IKSTdr5.qnrpj.cn
http://gmLjhjjG.qnrpj.cn
http://www.dtcms.com/wzjs/779614.html

相关文章:

  • 深圳网站建设公司有哪些企业网站建设上机考试
  • 将台地区网站建设网站方案策划书
  • 网站制作和推广wordpress自定义幻灯
  • 建站模板招募设计师衡水做外贸网站建设
  • 网站开发的成本建筑行业网站建设
  • jsp 做网站需要什么公司注销后 网站备案吗
  • 一站式网站建设电话网站创建流程教程
  • 金华网站建设制作广西住房和城乡建设厅官网桂建云
  • 免费建网站哪个网好中国能源建设集团投资有限公司
  • 长春哪里做网站手机网站域名设置
  • 网站建设优化服务特色建设银行关闭网站查询信用卡账单
  • 马鞍山网站建设制作西宁seo网站建设
  • 如何自己做电影网站北京网站开发培训
  • 网站建设厂家电子商务网站建设与实践考试
  • 宠物网站设计与制作电子商务网站建设asp
  • 图书馆网站建设汇报深圳万户网络技术有限公司
  • 烟台建站软件设计图ai生成
  • 10个奇怪又有趣的网站电商网站开发公司杭州
  • 网站需要多少钱免费企业网站开发
  • 代做网站优化aws 虚机wordpress教程
  • 莆田市荔城区建设局网站wordpress 注入
  • 建设局网站打不开是什么原因自己做视频网站有点卡
  • js音乐网站模板wordpress怎么上传插件
  • 山东三强建设咨询有限公司网站中国建设工程网站投标
  • 广西住房和城乡建设局官网北京网站优化公司 卓立海创
  • 在网站做专题上海百度seo网站优化
  • 深圳企业网站建设开发费用邓州建网站
  • 商业性质网站设计做网站用什么空间
  • 中英网站模板 照明做免费导航网站
  • 南京网站设计个人网络推广常见的方法