2
在角2個應用程序,我想存儲在一個變量的方法,但稱它總是拋出一個錯誤。我會更好以下解釋:調用的方法存儲在一個變量中打字稿
我有3種不同的API方法要求更新數據庫,根據用戶的類型:客戶,合作者或供應商。這就是我現在所擁有的:
let updateAPIMethod;
switch (user.type) {
case OBJTYPES.CUSTOMER:
updateAPIMethod = this.customerService.updateCustomer;
break;
case OBJTYPES.COLLAB:
updateAPIMethod = this.collaboratorService.updateCollaborator;
break;
case OBJTYPES.PROVIDER:
updateAPIMethod = this.providerService.updateProvider;
break;
}
updateAPIMethod(user).subscribe((ret) => { DEAL WITH SUCCESS },
(error) => { DEAL WITH ERROR });
每個功能是http.put調用返回可觀察到的。當我運行上面的代碼我得到:
TypeError: Cannot read property 'http' of undefined
我想這是因爲只是調用該函數不設置此時,相應的「本」的價值,但我不知道......
是否有如何做我想做的事?謝謝!
你真的打算'invoke'在這條線的功能? :'... = this.collaboratorService.updateCollaborator();' – Arg0n
具有u輸入http模塊從@角/ HTTP在哪裏你使用HTTP服務 –
你可能錯過了'.bind(...)'或' =>'這打破了'綁定',但我沒有看到r在你的問題中你通過函數做出更具體的建議如何修復的代碼。 –