为什么Vue中的data要用return返回

关于vue中data里为什么有return返回函数问题

首先先看一下下面的代码

var vm = new Vue({
    el: '#example',
 	data: {
 	message: 'Hello'
 	}
});
这种写法data对象是引用类型
//在vue组件中这样写
data() {
	 return {
 	message: 'Hello'
 	}
}
函数写法,每次返回新对象

有人要问到为什么要把data变成函数return返回
1)在简单的Vue实例中,因为你app对象不存在复用,不会出现数据污染。
2)然而在组件中, 使用return包裹后数据中变量只在当前组件中生效,因为组件是可以被复用的,这样不会影响其他组件,所以为了不让多处的组件共享同一个data对象,只能返回函数 ,我们只是调用了data函数生成的数据副本,避免了数据污染。

猜你喜欢

转载自blog.csdn.net/SANJIN0527_/article/details/107481847