Это потому, что localCampaign
назначено с this.campaignData
.Теперь this.campaignData
указывает на на месте сказать ссылки местоположение
1005 * И когда вы говорите
localCampaign=this.campaignData;
Вы не что иное, указывая localCampaign
опорному расположения this.campaignData
Следовательно, когда this.campaignData
изменяется, localCampaign
постепенно изменяется, поскольку они указывают на одно и то же контрольное местоположение.Эта концепция называется call by reference
.
. Вы можете назначить клонированный объект localCampaign
function clone(obj) {
if (null == obj || "object" != typeof obj) return obj;
var copy = obj.constructor();
for (var attr in obj) {
if (obj.hasOwnProperty(attr)) copy[attr] = obj[attr];
}
return copy;
}
Теперь вы можете использовать вышеуказанный метод для клонирования this.campaignData
let localCampaign=clone(this.campaignData);