封装一个常用方法 需要深拷贝的时候就引入这个方法把数据丢进去就好
/** * 深拷贝对象,可以正确序列化日期 * * @param {*} obj * */ export const DEEP_CLONE = function (obj) { let objClone = Array.isArray(obj) ? [] : {} if (obj && typeof obj === 'object') { for (let key in obj) { if (obj.hasOwnProperty(key)) { // 判断ojb子元素是否为对象,如果是,递归复制 if (obj[key] && typeof obj[key] === 'object') { // 深拷贝日期类型 if (obj[key] instanceof Date) { objClone[key] = new Date(obj[key].valueOf()) // console.log('deepClone', objClone[key]) } else { objClone[key] = DEEP_CLONE(obj[key]) } } else { // 如果不是,简单复制 objClone[key] = obj[key] } } } } return objClone }还有一个简单的方法就是 newData = JSON.parse(JSON.stringify(data)) 局限性会有一些但是也挺长用的