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

ftp网站建立大连手机自适应网站建设价格

ftp网站建立,大连手机自适应网站建设价格,唐山如何做百度的网站,网页制作工具 知乎前面实现了图片的预览和切换,不过存在一个问题,当我们点击某张图片进行预览时,会把列表中其他图片一并进行请求,带来额外的网络开销。如下面的图片列表 点击上面图片列表中的第一张图片,观察浏览器控制台,发…

前面实现了图片的预览和切换,不过存在一个问题,当我们点击某张图片进行预览时,会把列表中其他图片一并进行请求,带来额外的网络开销。如下面的图片列表

点击上面图片列表中的第一张图片,观察浏览器控制台,发现一次性额外加载了多张其他图片,带来额外性能和网络开销。

因此我们希望预览图片时,减少不必要一次性图片加载。

方法一:只渲染当前图片

<swiper circular :current="currentIndex" @change="swiperChange"><swiper-item  v-for="(item,index) in classList" :key="item._id"><image v-if="index == currentIndex"  @click="maskChange" :src="item.picurl" mode="aspectFill"></image></swiper-item>
</swiper>

通过在swiper中image添加v-if条件,只有当条件满足时才渲染。上面的代码中实现:索引为当前索引。如此便实现只加载当前预览图片的请求。但是,当我们左右滑动图片时,前后出现了空白类似卡顿现象:

显然这种方法虽然节省了性能和网络开销,但带来不好的用户体验。

方法二:声明一个变量,存储当前用户预览过的图片,和前后各一张图片,当预览到第1张继续左滑时,切换为最后一张,当用户预览到最后一张继续右滑时切换为第一张。下面是代码实现:

//声明一个响应式变量数组readImages,记录用户预览过的图片
const readImages = ref([])
//图片列表,classList的值参照前面的笔记
const classList = ref([])
//首次加载
onLoad((e)=>{currentId.value = e.idcurrentIndex.value = classList.value.findIndex(item=>item._id == currentId.value)readImageFun()
})//切换图片
const swiperChange =(e) =>{currentIndex.value = e.detail.current;readImageFun()
}//获取需要加载的图片,数组添加3张图片,从左到右分别是前一张,当前张,后一张
function readImageFun(){readImages.value.push(currentIndex.value<=0 ? classList.length-1 : currentIndex.value-1,currentIndex.value,currentIndex.value>= classList.length-1 ? 0 : currentIndex.value+1)//使用set进行去重readImages.value = [...new Set(readImages.value)]
}

核心在于:

1、往数组添加3张图片,从左到右分别是前一张,当前张,后一张;

2、如果当前是第一张,则上张为图片数组的最后一张;

3、如果当前是最后一张,则下一张为图片数组的第一张。

模板的v-if判断条件替换为:

 v-if="readImages.includes(index)"

如此便可实现以最小网络消耗加载资源同时切换时没有空白卡顿现象产生。

http://www.dtcms.com/wzjs/541529.html

相关文章:

  • ui设计网站建设是什么意思如何干电商
  • 网站建设地图素材宁波网站设计开发
  • 城乡厅建设部网站酒店网页设计模板图片
  • 茌平网站建设公司会员卡管理系统excel
  • 营销型网站什么意思猪猪券网站建设
  • 网站建设项目组织结构图无锡建设机械网站制作
  • 无锡建设网站的公司做企业评价的有哪些网站
  • 网站上怎么做动画广告视频2345网址导航电脑版下载
  • 中英文网站怎么做漂亮的logo设计图片
  • 网站形式石家庄百度推广家庄网站建设
  • 甘肃省住房与城乡建设厅网站外卖网站设计
  • 购物网站开发语言企业免费自助建站平台
  • 网站建设 培训班 成都企业网站建设要求标准说明
  • 快手官方网站音乐人怎么做景安网站备案查询
  • 做电商网站运营网站设计教程及在线模拟器
  • WordPress可以做大网站吗成都旅游十大必去景区
  • 德州中文网站建设佛山顺德网站建设公司哪家好
  • 开发网站需要什么语言哈尔滨seo优化
  • 创建一个网站需要什么大连免费营销型建站网络推广
  • wordpress建站系统视频教程网站入口
  • 服务器上的网站打不开鄂州网红打卡地方
  • 怎么找网站啊wordpress提高阅读量
  • 黑客做网站广州seo外包多少钱
  • 网站制作排名广告设计与制作网站
  • 网wordpress站底部图片悬浮阿里巴巴alexa排名
  • 北京cms建站模板做网站的语言都有什么
  • 做网站百度一下电子商务网站推广的方式有哪些
  • 怎样把网站打包做百度小程序基层建设网站是不是停办了
  • 上海seo顾问推推蛙柳州网站seo
  • net后缀的可以做网站吗wordpress nginx