组件可以访问Vue实例数据吗?组件数据是怎么存放的?为什么data是一个函数?

1.组件可以访问Vue实例数据吗?

  不可以,组件是一个单独功能模块的封装,有自己的html模板和数据。

2.组件数据是怎么存放的?

  组件对象有一个data属性,其为一个函数,这个函数返回保存组件数据的对象。子组件是不能访问父组件的,后面会有随笔描述父子组件之间的通信。

3.为什么data是一个函数?

  3.1 封装组件其一的目的是为了能够复用,那么在每一个复用的地方都应该有属于自己的逻辑;

  3.2 组件实例是没有共享一个data的,都有一个自己的状态;

  3.3 用函数返回对象的形式,每次返回的是一个新的对象,在栈空间中指向的引用(内存地址)是不一样的,这样能够保证组件之间是独立的。

posted @ 2022-09-14 15:00  jxweber  阅读(61)  评论(0)    收藏  举报