8.vue数据代理.html 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. <!--
  11. 什么叫数据代理?
  12. Object.defineProperty
  13. 通过一个对象去代理另一个对象并对其属性进行(读/写)的操作;
  14. -->
  15. <!-- {{newMain}} -->
  16. </div>
  17. <script src="./vue.js"></script>
  18. <script>
  19. // let obj = {
  20. // name: 'LiLi',
  21. // age: 18
  22. // }
  23. // 参数一:需要设置或添加属性的对象
  24. // 参数二: 需要设置或添加属性的值
  25. // 参数三:配置对象
  26. // Object.defineProperty(obj,'sex',{
  27. // value:'女'
  28. // })
  29. // console.log(obj,'obj')
  30. // var app = new Vue({
  31. // el:"#app",
  32. // data:{
  33. // }
  34. // })
  35. var app = new Vue({
  36. el:"#app",
  37. data:{
  38. num: 10,
  39. obj:{
  40. name:"张振博",sex:"男"
  41. }
  42. },
  43. // let num = 10;
  44. // let obj = {name:"张振博",sex:"男"};
  45. // Object.defineProperty(obj,'age',{
  46. // get(){
  47. // console.log("读取");
  48. // return num
  49. // },
  50. // set(value) {
  51. // console.log("设置");
  52. // num = value;
  53. // }
  54. // })
  55. // let obj = {};
  56. // let obj1 = {
  57. // name: "李兆龙",
  58. // age: 18
  59. // }
  60. // Object.defineProperty(obj,'age',{
  61. // get() {
  62. // console.log("走到获取里");
  63. // return obj1.age;
  64. // },
  65. // set(value) {
  66. // obj1.age = value
  67. // }
  68. // })
  69. // console.log(obj)
  70. })
  71. </script>
  72. </body>
  73. </html>