vue好处就是复用
如果data是一个对象 ,当在其他的组件里修改data里的数据的时候,所有组件的data数据都会被改变,在栈里的地址是相同的
如果是个函数的话,每次都会开辟一个新地址,并return对象(然后把开辟的新地址赋值给data),只是看起来一样(但在栈里的地址是不同的),当修改其他组件里的data的时候就不会影响其他组件data的数据
data() {
return {
arr: [],
};
},
函数会在内存中开辟新地址 返回给整个函数体 如果不是函数的话,所有组件的data都指向同一个地址,一旦修改,所有的都会发生改变
当一个组件被定义,data
必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data
仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!通过提供 data
函数,每次创建一个新实例后,我们能够调用 data
函数,从而返回初始数据的一个全新副本数据对象。