[Vue]Vue中组件的data为什么必须是函数?Vue跟实例data是一个对象?
1)为什么根实例的data是一个对象?
答:new Vue()中只有一个data属性,共用该data。
2)为什么组件中的data必须是一个函数?
答:
2.1)因为如果data是一个对象,对象是引用类型,那复用的所有组件实例都会共享这些数据,就会导致修改一个组件实例上的数据,其他复用该组件的实例上对应的数据也会被修改。
2.2)如果data是一个函数,函数虽然也是引用类型,但是函数是有作用域的,函数内的变量不能被外部访问到,这样每个组件实例都会有个独立的拷贝同时又因为函数作用域的限制修改自己的数据时其他组
转载
2020-12-23 22:10:13 ·
1391 阅读 ·
0 评论