weekCodeing / interview-answe

🌍 前端程序员训练 求星星 ✨ 各位同学可以在issues中提问,无论是实际项目中遇到的问题,或者是技术问题都可以, 大家一起解决💯 👍 😄。
http://www.dadaqianduan.cn/
76 stars 9 forks source link

198.[vue]组件的 data 为什么必须是一个函数? #198

Open webVueBlog opened 4 years ago

webVueBlog commented 4 years ago

[vue]

webVueBlog commented 4 years ago

理解:

保证组件的相对独立 若是 data 是对象,则所有组件共享同一个对象,数据会相互感染 data 用函数返回一个对象,复用组件会创建多个实例 根组件的 data 可以是一个对象,因为它不会被复用 原理

Vue.extend 中会执行 mergeOptions 方法来 合并 Vue 构造函数和子组件的 options到 vm.$options组件