请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于为何组件data必须是个函数

老师,您在讲解中说data在闭包之中。这里不太理解。
闭包不是指内部函数被保存在了外部吗。
这里并没有return data,为什么说在闭包之中。
是因为export default{ } 相当于return { }吗?

正在回答 回答被采纳积分+3

2回答

慕粉3871079 2021-02-23 17:41:18

你可以理解假如他不是一个函数,没有私有域,那么我是否是存在n个命名一样的变量,比如n个name,那肯定会造成全局的变量污染。

0 回复 有任何疑惑可以回复我~
双越 2020-11-06 08:51:52

组件相当于 class ,它可能会被用到很多个地方,这就类似于 new class 实例。

而对于每一个实例,data 都必须是独立的,所以要用函数返回。

如果不用函数,那多个实例就公用一个 data 了,这样就乱套了。

0 回复 有任何疑惑可以回复我~
  • 老师您好,是因为new class实例以后,根据原型链的概念,所有的实例的原型都是这个class,然后如果要访问这个data的时候,根据原型链回溯,找到的是class里的data,所以如果data不是一个函数,而是一个对象的话,所以实例访问的是同一个对象了,对吗?
    回复 有任何疑惑可以回复我~ 2021-01-03 13:38:03
  • 是的。
    回复 有任何疑惑可以回复我~ 2021-01-03 16:18:24
  • 谢谢老师!
    回复 有任何疑惑可以回复我~ 2021-01-06 21:49:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信