data选项为什么是函数?
组件是一个整体,那么它的数据也应该是独立的,函数形式可以给一个独立作用域
返回值为什么是对象呢?
我们vue特点是什么呢?
深入响应式,data选项要做劫持【 es5的Object.defineProperty的getter和setter设置 】
data选项为什么是一个函数?
组件是一个聚合体,也是一个整体,它需要一个独立的作用空间,也就是它的数据需要是独立的
目前js的最大特点是函数式编程,而函数恰好提供了一个独立作用域
所以我们data在出根组件外都是函数
为什么data函数需要返回一个返回值,返回值还是对象,不能是数组吗?
Vue通过es5的Object.definePerproty属性对一个对象进行getter和setter设置,
而data选项是作为Vue深入响应式核心的选项
Vue.component('Hello',{
template: '#hello',
data () {
return {
msg: '又是一个正能量的一天',
title: ''
}
}
}