13_watch.html 978 B

12345678910111213141516171819202122232425262728293031323334353637
  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. <title>Document</title>
  7. <script src="./js/vue.js"></script>
  8. </head>
  9. <body>
  10. <div id="app">
  11. <h1>{{num1}}+{{num2}}={{sum}}</h1>
  12. <button @click="changeFun">change</button>
  13. </div>
  14. <script>
  15. var app = new Vue({
  16. el: '#app',
  17. data:{
  18. num1:1,
  19. num2:2,
  20. sum:0
  21. },
  22. methods:{
  23. changeFun:function(){
  24. this.num2 = 100
  25. }
  26. },
  27. watch:{
  28. num2:function(val,oldVal){
  29. // watch 监听num2的变化 接受两个参数 val 代表新值 oldVal 代表旧值
  30. console.log(val,oldVal)
  31. this.sum = this.num1 + val
  32. }
  33. }
  34. })
  35. </script>
  36. </body>
  37. </html>