Как удалить двустороннюю привязку данных в угловых -2/4

Как удалить двустороннюю привязку данных в угловых -2/4

В этом случае вы должны использовать Object.assign ИЛИ DeepCopy . Он создаст копию вашего объекта / переменной, поэтому, когда бы вы ни выполняли какой-либо фильтр для первичного объекта, он не будет отражаться в скопированном объекте и наоборот.

Вы можете использовать {},[] согласно вашему требованию.

{}: для одного объекта

[]: для сбора предметов

 let copiedItem = Object.assign({}, copiedItem , PrimaryItem ); 

Пожалуйста, обратитесь за подробностями: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

Вариант: 2 Deep Copy

 DeepCopy(obj: any): any { let clonedObject; if (obj === null || typeof obj !== 'object') { return obj; } if (obj instanceof Array) { clonedObject = []; for (let i = 0; i {amp}lt; obj.length; i  ) { clonedObject[i] = this.deepCopy(obj[i]); } return clonedObject; } if (obj instanceof Date) { clonedObject = new Date(obj.valueOf()); return clonedObject; } if (obj instanceof RegExp) { clonedObject = RegExp(obj.source, obj.flags); return clonedObject; } if (obj instanceof Object) { clonedObject = new obj.constructor(); for (const attr in obj) { if (obj.hasOwnProperty(attr)) { clonedObject[attr] = this.deepCopy(obj[attr]); } } return clonedObject; } } 

Звонок с компонента

 let copiedItem: any[] = this.DeepCopy(PrimaryItem ); 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector