问题描述 为什么在vue组件中,我们的data属性必须是一个函数,new Vue()中的data除外,因为new Vue中只有一个data属性. 原因 因为我们能抽离出来的组件,肯定是具有复用性的,它在项目中会存在多个实例.如果data属性值是一个对象时,那么它所有的实例都会共享这些数据,这是很麻烦的事情,你不能确保你的所有实例中的属性值都不会重复. 我们的期望是,组件的每个实例都能独立的维护自己的数据. 解决方案 我们都知道,在JavaScript中,函数具有独立作用域快的特点,外部是无法访问