vue组件中data为什么是个函数

在vue的开发中,我们在组件中采用函数这种格式

data() { 
   return { }
 }

在vue实例中采用的是对象这种格式

data:{}
那么为什么要在组件中采用函数的方式呢?

首先组件是多次使用的,也就是复用。当我们多次调用一个组件,肯定不希望组件中数据是相互联通的。所以在此使用函数的方式return一个对象,这样每次调用组件返回的都是一个新的对象,对象所处的内存地址是不一样的,这样就可以避免在实际开发中数据的联通带来的不变。
我们可以采用下列代码来证明一下每次return的数据存储的地址是不一样的。

function abc(){
   return {
      name: '张三'
   }
}
let a = abc()
let b = abc()
let c = abc()
a.name = '李四'
console.log(a())  //李四
console.log(b())  //张三
console.log(c())  //张三

上述描述如有问题,敬请指出相互学习~~~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值