vue组件中的data为什么必须是个函数而不是一个对象? 清风不想说话100410 2020-02-20 199 阅读1分钟 简单地说,对象是引用数据类型,那你每次导入这个组件的时候,其实引用的是同一个内存地址,componentA改变了引用这块地址的数据后,componentB中的这块地址对应的数据也会被改变。 那是因为在js中,函数的{}才有独立的作用域,对象的大括号,if的大括号是不构成作用域的. 函数里面,每调用一次函数就会创建一个新的独立的函数作用域,不管你同时引入同一个组件多少次,他们之间的组件属性都是独立的,互不干扰。