data定义数据模式和区别
# 5.9 data定义数据
# 1.1 定义data的区别
实例定义data可以是一个函数,也可以是一个对象
// 一个函数
datd(){
retrue{
xxx: xxx
}
}
// 一个对象
data: {
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
数据定义在data的return内和return外的区别:
1. return外:单纯修改这个数据是不可以修改的,因为没有被get/set
2. reutnr内:是可以修改的
1
2
3
2
3
# 1.2 data为什么是一个函数而不是一个对象?
在我们定义一个组件时,vue最终都会通过vue.extend()构成组件实例,由于一个组件可能会有多个实例,采用函数返回一个全新的data形式,使得每个实例对象之间的数据相互间不受影响。而根实例是单例,不会出现多个实例对象,因此不存在数据污染情况。