对应一个对象,键是观察表达式,值是对应回调。值也能够是方法名,或者是对象,包含选项。在实例化时为每一个键调用 $watch()
;vue
vue单文件组件写法:
<template> <!--观察数据为字符串或数组--> <input v-model="example0"/> <input v-model="example1"/> <!--当单观察数据examples2为对象时,若是键值发生变化,为了监听到数据变化,须要添加deep:true参数--> <input v-model="example2.inner0"/> </template> <script> export default { data(){ return { example0:"", example1:"", example2:{ inner0:1, innner1:2 } } }, watch:{ example0(curVal,oldVal){ console.log(curVal,oldVal); }, example1:'a',//值能够为methods的方法名 example2:{ //注意:当观察的数据为对象或数组时,curVal和oldVal是相等的,由于这两个形参指向的是同一个数据对象 handler(curVal,oldVal){ conosle.log(curVal,oldVal) }, deep:true } }, methods:{ a(curVal,oldVal){ conosle.log(curVal,oldVal) } } } </script>