1,创建文件 config\deep-copy.js
2,在deep-copy.js文件里添加这段代码 递归的方式实现数组、对象的深拷贝
// 使用递归的方式实现数组、对象的深拷贝
export function deepClone(obj) {
let objClone = Array.isArray(obj) ? [] : {}
if (obj && typeof obj === 'object') {
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
// 判断ojb子元素是否为对象,如果是,递归复制
if (obj[key] && typeof obj[key] === 'object') {
objClone[key] = deepClone(obj[key])
} else {
// 如果不是,简单复制
objClone[key] = obj[key]
}
}
}
}
return objClone
}
3,在main.js文件下引入deep-copy.js 全局注册
import { getDeepCopy, deepClone, unique } from '@/config/deep-copy.js'
Vue.prototype.$unique = unique
Vue.prototype.$getDeepCopy = getDeepCopy
Vue.prototype.$deepClone = deepClone
4,其他页面直接使用$符号进行调用就可以了
let info = {
name:'22',
text:'33'
}
let infos = this.$getDeepCopy(info)