作用:监听数据(一旦数据符合判断,则执行自定义操作)

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
    7. <title>侦听器watch</title>
    8. </head>
    9. <body>
    10. <div id='app'>
    11. <input type="text" v-model='msg'>
    12. <h3>{{msg}}</h3>
    13. <h3>{{stus[0].name}}</h3>
    14. <button @click='stus[0].name = "Tom"'>改变</button>
    15. </div>
    16. <script src="./vue.js"></script>
    17. <script>
    18. // 基本的数据类型可以使用watch直接监听,复杂数据类型Object Array 要深度监视
    19. new Vue({
    20. el: '#app',
    21. data: {
    22. msg:'',
    23. stus:[{name:'jack'}]
    24. },
    25. watch: {
    26. // key是属于data对象的属性名 value:监视后的行为 newV :新值 oldV:旧值
    27. 'msg':function(newV,oldV){
    28. // console.log(newV,oldV);
    29. if(newV === '100'){
    30. console.log('hello');
    31. }
    32. },
    33. // 深度监视: Object |Array
    34. "stus":{
    35. deep:'true',
    36. handler:function(newV,oldV){
    37. console.log(newV[0].name);
    38. }
    39. }
    40. },
    41. })
    42. </script>
    43. </body>
    44. </html>