如何证明 Vue 中有数据代理

一 - 如何证明 Vue 中有数据代理:

vue数据代理:

  • data对象的所有属性的操作(读/写)由vm对象来代理操作

  • 好处: 通过vm对象就可以方便的操作data中的数据

//现在让我们来写一个小例子来证明Vue有数据代理的存在

<head>
  <meta charset="UTF-8">
  <title>02_数据代理</title>
  <!-- 这个需要小伙伴们自己去下文件来引入哟 -->
  <script src="./001js/vue.js"></script>
</head>
<body>
  <div id="app">
  </div>

  <script type="text/javascript">
    const vm = new Vue({
      el: '#app',
      data: {
        msg: '哈哈,好开心哦'
      }
    })
    // 如果我们想要访问 msg 的值
    // 直接这样写会报错:
    console.log(vm.data.msg) //会报错 Uncaught TypeError: Cannot read property 'msg' of undefined
    // 所以我们打印看看实例对象vm 里面有什么呢?
    console.log(vm);// Vue {...}
    // 打印结果发现:
    // vm中只有:_data, $data  这两种,没有 data属性
    // 只能通过这两个属性_data, $data来访问 msg
    console.log(vm._data.msg) //哈哈,好开心哦
    console.log(vm.$data.msg) //哈哈,好开心哦
    // 但是Vue为了方便我们,说你不用这么干,你可以直接点.msg就能访问到了:
    console.log(vm.msg)  //哈哈,好开心哦
    // 此事证明了:vue中有数据代理,
    //说明了:vm 代理了data,代理者vm,被代理者是data
 </script>
    //下面这张是对应的图解:

图片1.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值