在Vue 2中,当props的类型是对象(Object)或数组(Array)时,推荐使用函数来作为默认值的原因在于JavaScript中对象和数组是引用类型 。如果直接将一个对象或数组作为默认值,那么这个默认值会在内存中共享,导致所有使用该默认值的组件实例实际上共享的是同一个对象或数组的引用。 这意味着,如果一个组件实例修改了这个对象...
// 这样写时会报错 Type of the default value for 'record' prop must be a function props: { record: { type: Array, default: [] } } // 正确应该这样写 // 因为vue规定,对象或数组默认值必须从一个工厂函数获取 props: { record: { type: Array, default: function () { return[] } } } ...