面试题- vue的data选项为什么是函数

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: ''
      }
    }
}
发布了55 篇原创文章 · 获赞 8 · 访问量 1783

猜你喜欢

转载自blog.csdn.net/louting249/article/details/103099904