data
2024年03月13日
一、认识
二、语法
三、问题
3.1 组件 data 定义函数与对象的区别?
定义组件的时候, 逻辑如下:
function Component(){
}
Component.prototype.data = {
a: 1,
b: 2
}
创建两个组件实例, 如下所示:
const componentA = new Component();
const componentB = new Component();
修改 componentA
组件中 data
的值, componentB
组件中的值也发生了变化。
因此, 组件 data
定义对象时, 多个组件的 data
使用的是同一个内存地址, 每个组件实例对象的数据受到了其他组件实例对象的数据污染。组件 data
定义函数时, 每一个组件实例会返回全新的 data
,使每个组件实例对象不会受到其他实例对象的数据污染。