php 解决vue图片预加载,vue进行图片的预加载watch用法实例讲解

本文详细介绍了在Vue项目中如何利用watch选项进行图片预加载的实现,强调了watch相对于computed在处理数据变化时的优势,特别是在需要执行异步操作或大运算量逻辑时。通过监听图片加载完成的计数,当所有图片加载完毕后显示页面并执行后续操作,如AJAX请求。此案例展示了watch在实际开发中的应用场景。
摘要由CSDN通过智能技术生成

watch应用场景

我想信图片预加载大家肯定都有接触过,当图片量大的时候,为了保证页面图片都加载出来的时候,我们才把主页面给显示出来,再进行一些ajax请求,或者逻辑操作

那此时你用computed对这种监听一个数据然后进行一系列逻辑操作和ajax请求,那watch再适合不过了,如果用computed的话那你连实现都实现不了,只有用watch监听

export default {

mounted () {

var _this = this

let imgs = document.querySelectorAll('img')

console.log(imgs)

Array.from(imgs).forEach((item)=>{

let img = new Image()

img.onload = ()=>{

this.count++

}

img.src=item.getAttribute('src')

})

},

data () {

return {

count : 0,

show : false

}

},

watch : {

count (val,oldval) {

if(val == 4){

this.show = true

alert("加载完毕")

//然后可以对后台发送一些ajax操作

}

}

}

}

我们可以发现发四张图片都加载完毕的时候页面才显示出来

根据完方有一句话说的很重要的一句

虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的 watcher 。这是为什么 Vue 提供一个更通用的方法通过 watch 选项,来响应数据的变化。当你想要在数据变化响应时,执行异步操作或开销较大的操作,这是很有用的。

基于这个官方的理解再总结我个人的整体理解。给出computed和watch的总结,记住这几点的总结,在做项目的时候想想这些总结,选择你的应用方法

computed:

监听多个数据或者一个数据来维护返回一个状态值 ,只要其中一个或多个数据发生了变化,则会从新计算整个函数体,从新返回状态值

watch:

只有一个一个监听据,只要这个数据发生变化,就会在返回两个参数,第一个是当前的值,第二个是变化前的值,每当变化的时候,则会触发函数体的里的逻辑行为,来进逻辑后续操作

以上这篇vue进行图片的预加载watch用法实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值