Vue.javascript源码分析(七)基础篇侦听器watch属性详解

山有山的沉稳厚重,一年四季却能以不同的色彩风光展示山的美丽。活泼的有单调的一面,安静的有变换的色彩。静与动的搭配,单调与精彩的结合,也就组成了最美的风景。

先来看看官网的介绍:

官网介绍的很好理解了,也就是监听一个数据的变化,当该数据变化时执行我们的watch方法,watch选项是一个对象,键为需要观察的数据名,值为一个表达式(函数),还可以是一个对象,如果时对象可以包含如下几个属性:

handler    ;对应的函数              ;可以带两个参数,分别是新的值和旧的值,上下文为当前Vue实例   immediate   ;侦听开始之后是否立即调用     ;默认为false   sync     ;波尔值,是否同步执行,默认false  ;如果设置了这个属性,当数据有变化时就会立即执行了,否则放到下一个tick中排队执行

例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="https://cdn.bootcss.com/vue/2.5.16/vue.js"></script>
    <title>Document</title>
</head>
<body>
    <div id="app">
        <p>{{message}}</p>
        <button @click="test">测试</button> 
    </div>
    <script>
        var app = new Vue({
            el:'#app',
            data:{message:'hello world!'},
            watch:{
                message:function(newval,val){
                    console.log(newval,val)
                }
            },
            methods:{
                test:()=>app.message="Hello Vue!"
            }
        })
    </script>
</body>
</html>

到此这篇关于Vue.javascript源码分析(七)基础篇侦听器watch属性详解就介绍到这了。永不放弃是你梦想实现的唯一秘诀。更多相关Vue.javascript源码分析(七)基础篇侦听器watch属性详解内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
Vue路由参数的传递与获取方式详细介绍

vue学习记录之动态组件浅析

vue如何实现列表固定列滚动

vue如何实现伸缩菜单功能

vue项目中canvas如何实现截图功能