一、用Object.defineProperty()来实现简单的数据代理

  1. /*创建两个对象*/
  2. let obj1 = {
  3. "x": 100
  4. }
  5. let obj2 = {
  6. "y": 200
  7. }
  8. /*
  9. 用Object.defineProperty方法来实现简单的数据代理
  10. */
  11. Object.defineProperty(obj2,"x",{
  12. /*
  13. 将obj1的x属性绑定到obj2的x属性上
  14. */
  15. get(){
  16. return obj1.x
  17. },
  18. /*
  19. 修改obj2的x属性的同时修改obj1的x属性的值
  20. */
  21. set(value){
  22. obj1.x = value
  23. }
  24. })

二、Vue中的数据代理图示

image.png

将创建Vue实例时的data属性代理到Vue实例vm身上,方便对data属性进行修改

三、总结

image.png