16.数据监听.html 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. </head>
  8. <body>
  9. <div id="app">
  10. </div>
  11. <script src="./vue.js"></script>
  12. <script>
  13. let num = 10;
  14. let obj = {
  15. name: '小明',
  16. sex: '男'
  17. }
  18. // target 代理的目标对象
  19. // name 代理/监听 对象属性
  20. // property 执行的代码块
  21. // getter / setter
  22. Object.defineProperty(obj,'age',{
  23. get() {
  24. console.log("读取");
  25. return num;
  26. },
  27. set(value) {
  28. console.log("写入")
  29. num = value
  30. }
  31. })
  32. console.log(obj.age)
  33. obj.age = 20;
  34. console.log(obj)
  35. // var vm = new Vue({
  36. // el: "#app",
  37. // data: {
  38. // msg: "哈哈哈"
  39. // }
  40. // })
  41. </script>
  42. </body>
  43. </html>