首页 > 其他 > 详细

【Vue】淘气三千问之 data为什么是函数而不是对象?这河狸吗

时间:2022-05-27 20:06:03      阅读:14      评论:0      收藏:0      [点我收藏+]

朋友,当你提出以上问题的时候建议你先去复习下原型链的知识

但是我好人做到底直接就讲了吧,我们先看一下下面的这段代码:

function Component () {
  this.data = this.data      
}
Component.prototype.data = {
    name: ‘卡莲‘,
    gender: ‘女‘  
}

  以后再放链接:

我们来分析一下假如是以下这种情况:

function Component(){
 
}
Component.prototype.data = {
    name:‘卡莲‘,
    gender: ‘女‘
}
var componentA = new Component();
var componentB = new Component();
componentA.data.gender="男";
console.log(componentA,componentB)

  说好只改变其中一个卡莲的性别,但是卡莲们不分彼此,公用一个接受信号的大脑,同时接收到了变成“男”的信号,结果他们都变成了“男”。

所以Vue需要function的帮助,每次都可以new出独立思考的,拥有独立大脑的卡莲,这次我们再尝试再发出一次信号:

function Component(){
 
}
Component.prototype.data = function () {
    name:‘卡莲‘,
    gender: ‘女‘
}
var componentA = new Component();
var componentB = new Component();
componentA.data.gender="男";
console.log(componentA,componentB)

  太好了,舰长大人,卡莲A是男,卡莲B是女,我们成功了。

【Vue】淘气三千问之 data为什么是函数而不是对象?这河狸吗

原文:https://www.cnblogs.com/0902-zjq/p/15340557.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!