天天看點

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字段。是監控不到的。