2 回答

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
你可能會(huì)無意中碰到“不變性”。
我懷疑您的響應(yīng)對(duì)象是通過HttpResponse
返回的,其主體(根據(jù)文檔)是只讀的。
即使這不是這里的根本原因,通常最好避免直接修改對(duì)象(如服務(wù)器響應(yīng))。更好的方法是創(chuàng)建一個(gè)新對(duì)象并修改新對(duì)象。
請(qǐng)嘗試以下一種或兩種方法:
const requestObject: any = {
"type": 'type1',
"start": 0,
"size": 10,
"keywords": ['abcd','efgh'],
filters: [],
}
// -----------
// solution 1:
// create a new object by spreading the old one and overwriting the 'keywords' item
const updatedRequest = {...requestObject, keywords: ['pqr'] }
console.log(updatedRequest)
// -----------
// solution 2:
// deep copy via JSON.stringify + JSON.parse
const clonedRequest = JSON.parse(JSON.stringify(requestObject))
clonedRequest.keywords = ['pqr']
console.log(clonedRequest)

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
當(dāng)我在控制臺(tái)中測(cè)試代碼時(shí),
{
"type": 'type1',
"start": 0,
"size": 10,
"keywords": ['abcd','efgh'],
filters: [],
}
被賦給變量 ,而不是 。這是有道理的,就像你正在做的那樣,它將=符號(hào)之后的所有內(nèi)容分配給,并且不返回任何內(nèi)容。另外,我不認(rèn)為使用冒號(hào)進(jìn)行賦值在對(duì)象定義之外有效。結(jié)果對(duì)我來說對(duì)象是未定義的。您可能希望將作業(yè)替換為anyrequestObjectany =any
requestObject = {
"type": 'type1',
"start": 0,
"size": 10,
"keywords": ['abcd','efgh'],
filters: [],
}
添加回答
舉報(bào)