vue3前端青铜到黄金王者 - 第8个入门v watch使用

236 阅读1分钟

这是我参与8月更文挑战的第21天,活动详情查看:8月更文挑战

什么是Watch

watch 是 Vue.js 最强大的功能之一。

当关注的某个变量的值变化时,watch监听到并且执行,注册监听该变量的函数(比如更根据变化执行一些数据,消息更新等)

我们直接敲代码吧:

<!DOCTYPE html>

<html lang="en">

<head>

    <title>vue3青铜到黄金-丸子酱-vue-0n</title>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <script src="/vue3.1.5_vue.global.js"></script>

</head>

<body>

    <div id="wzApp">

<h3><a v-bind:href="url">点击访问->子酱@CSDN博客</a></h3>

<input  v-model="num1" /><br/>

<input v-model="num2" /><br/>

<div>{{num1 + num2}}</div>

    </div>

</body>

<script>

    const { createApp,ref,watch } = Vue

    const url = 'https://blog.csdn.net/qq_28008615'

    const num1 = ref("Hello")

    const num2 = ref("Vue3") 

    const app = {

        setup() {

            watch(num1, (newVal, oldVal)=>{ 

                console.log('change from ' + oldVal + ' to ' + newVal)

            })

            return {

                url, num1, num2

            }

        }

    }   

    createApp(app).mount('#wzApp')

</script>

</html>

重点说明

监听多个参数执行不同的方法

不过以上只是一些简单的例子,对于vue3中,watch可以监听多个源,并且执行不同的函数。

在vue3中同理也能实现相同的情景,通过多个watch来实现,但在vue2中,只能存在一个watch。

比如再添加多一个监听


            watch(num2, (newVal, oldVal)=>{ 

                console.log('change from ' + oldVal + ' to ' + newVal)

            })

其他更多读者可以试试编写一些watch监听,vue3还是增强了不少。

总结

watch 可以监控跟踪到不同变量值的变化来触发其他操作。

比如在做游戏网站装备售卖的时候,可以根据页面的一些状态变化。更换皮肤,提示各种消息。这样比较友好。

当然还能根据一个固定时间来提示活动信息(这个可以用定时器来修改一些变量,watch级联更新)

就写到这里

我是丸子,每天学会一个小知识。
一个前端开发
希望多多支持鼓励,感谢