vue中data需要用方法的方式返回的理解

据目前个人知识的理解,为什么vue中data需要用函数的方式返回的原因,是需要从原型继承入手。
对于对象中的继承;
   function Person(){
        this.age = '100'
        this.data = {
            name:'小红'
        }
    }
    function Per(){}
    Per.prototype = new Person()
    let per = new Per()
    let per1 = new Per()
    // 原型链继承
    // 如果本身在实例化属性存在,就会取实例属性;如果取不到就从原型属性上找
    // 所以这个也是在vue当中,data中的属性 必须要用函数返回的方式处理的原因
    
    per1.age = 1000
    per1.data.name = '小青'
    // 此时打印 per.data.name 会发现值为 小青;
    // 但是如果打印per.age的话 会发现还是 100 。这个是因为在对象中的属性会被 继承 ,是因为对象 是引用类型,而字符串和数字是基础类型

假如 vue中如果不是通过函数的方式返回,就会出现,同一个组件的两个实例化组件中,一个data中的值发生改变的时候,另一个也会改变。

posted @ 2021-11-08 14:32  hezd  阅读(512)  评论(0)    收藏  举报