vue单个属性深度克隆
时间: 2024-09-29 10:13:58 浏览: 37
Vue 中的单个属性深度克隆通常通过 `Object.assign()` 或者递归函数 `JSON.parse(JSON.stringify())` 实现。当你想要复制一个对象并保持其内部嵌套对象结构不变时,可以这样做:
1. 使用 `Object.assign() + JSON.parse(JSON.stringify())`:
```javascript
function deepClone(obj) {
return JSON.parse(JSON.stringify(obj));
}
let obj = { a: { b: 1 } };
let clonedObj = deepClone(obj);
```
这种方法适用于简单的数据结构,但对于复杂的引用类型(如 Date、RegExp 等),可能会有问题。
2. 使用 `lodash` 的 `_.cloneDeep()` 或者 `vue-property-decorator` 提供的 `cloneDeep` 插件:
```javascript
import { cloneDeep } from 'lodash';
let obj = { a: { b: 1 } };
let clonedObj = cloneDeep(obj);
```
如果项目中已经引入了 lodash 库,这将是一个更方便的选择。
阅读全文