千锋教育-做有情怀、有良心、有品质的职业教育机构
vue组件中的data为什么必须是函数,为什么不可以是对象,数组这些?
1、如果vue组件的data是一个对象,那么在复用vue组件时,由于对象是个引用类型。那么,每个组件的data会指向同一块内存空间,组件之间的data就会互相影响。所以,组件中的data不能是对象。
2、vue框架中把data定义成函数,函数里返回真正的数据(引用类型)。每次复用组件时,vue框架都会调用该函数。当调用该函数时,函数返回新的对象(申请新的空间)。
那么不同的组件的内存空间就是独立的,不会互相影响。
相关推荐