Below I will share with you an example of how to use vue to preload watch for images. It has a good reference value and I hope it will be helpful to everyone.
watch application scenarios
I believe that everyone must have been exposed to image preloading. When the amount of images is large, in order to ensure that the page When all the images are loaded, we display the main page and then perform some ajax requests or logical operations
Then you use computed to monitor a data and then perform a series of logical operations and Ajax request, then watch is perfect. If you use computed, you can't even implement it. Only by using watch to monitor
<template> <p v-show=show> <img src="/static/imghwm/default1.png" data-src="https://img.alicdn.com/simba/img/TB14sYVQXXXXXc1XXXXSutbFXXX.jpg" class="lazy" alt=""> <img src="/static/imghwm/default1.png" data-src="//img.alicdn.com/tfs/TB1iZ6EQXXXXXcsXFXXXXXXXXXX-520-280.jpg_q90_.webp" class="lazy" alt=""> <img src="/static/imghwm/default1.png" data-src="https://img.alicdn.com/simba/img/TB1C0dOPXXXXXarapXXSutbFXXX.jpg" class="lazy" alt=""> <img src="/static/imghwm/default1.png" data-src="//img.alicdn.com/tfs/TB1iZ6EQXXXXXcsXFXXXXXXXXXX-520-280.jpg_q90_.webp" class="lazy" alt=""> </p> </template> <script> 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操作 } } } } </script>
We can find that the page is not displayed until all four pictures have been loaded
According to Wan Fang’s very important sentence
Although calculated properties are more appropriate in most cases, sometimes a Custom watcher. This is why Vue provides a more general way to respond to data changes through the watch option. This is useful when you want to perform asynchronous or expensive operations in response to data changes.
Based on this official understanding, I will summarize my personal overall understanding. Give a summary of computed and watch. Remember the summary of these points. Think about these summaries when working on the project and choose your application method
computed:
Monitor multiple data or one data to maintain and return a status value. As long as one or more of the data changes, the entire function body will be recalculated and the status value will be returned again
watch:
There is only one monitoring data. As long as the data changes, two parameters will be returned. The first one is the current value, and the second one is the current value. The first is the value before the change. Whenever it changes, the logical behavior in the function body will be triggered to perform logical subsequent operations.
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future. .
Related articles:
Detailed explanation of using jest to test react native components
Select all in vue to achieve data binding and acquisition
Using the time plug-in in mint-ui and getting the selection value
The above is the detailed content of Preload watch usage in vue. For more information, please follow other related articles on the PHP Chinese website!

vue中props可以传递函数;vue中可以将字符串、数组、数字和对象作为props传递,props主要用于组件的传值,目的为了接收外面传过来的数据,语法为“export default {methods: {myFunction() {// ...}}};”。

本篇文章带大家聊聊vue指令中的修饰符,对比一下vue中的指令修饰符和dom事件中的event对象,介绍一下常用的事件修饰符,希望对大家有所帮助!

如何覆盖组件库样式?下面本篇文章给大家介绍一下React和Vue项目中优雅地覆盖组件库样式的方法,希望对大家有所帮助!

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

Atom editor mac version download
The most popular open source editor

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver Mac version
Visual web development tools
