vue基础篇---watch监听

watch可以让我们监控一个值的变化。从而做出相应的反应。

示例:

<div id="app">
    <input type="text" v-model="message">
</div>
<script src="./node_modules/vue/dist/vue.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            message:"",
            person:{
                name:""
            }
        },
        watch:{
            message:{
                deep:true, #深监控,如果不写就是浅监控,只能监视普通变量。如果是对象的的属性变化就监视不到
                handler(newVal, oldVal){
                    console.log(newVal, oldVal);
                }
            },
            'person.name':{ #如果我们只想监控person对象的name属性。可以使用这样的写法
                deep:true, 
                handler(newVal, oldVal){
                    console.log(newVal, oldVal);
                }
            }
        }
    })
</script>

 注意:vue只能监听你这个对象刚初始化的时候的属性。比如上面的person对象,只有name字段,如果你在后期加上age字段。是监控不到的。

原文地址:https://www.cnblogs.com/coder-lzh/p/9745662.html