我在類型腳本中使用Angular 1.4,在ASP.NET 5應用程序中使用了RXJS。我的問題極其嚴重。在運行時期間,我所有的接口屬性都從駱駝套管轉向Pascal套管。爲什麼發生這種情況以及如何避免這種情況?Typescript接口屬性更改爲來自駱駝的Pascal案例案例
請注意,我使用的承諾以從網絡API撥打電話這樣的數據
public GetDataFromAPI(request: Messages.IRequest): Observable<Messages.IResponse> {
let result: IPromise<Messages.IResponse>;
result = this.$http.post("http://api.domain.com/GetData", request).then(
(response: ng.IHttpPromiseCallbackArg<Messages.IResponse>) => {
return response.data;
}
);
return Observable.fromPromise(result).retry(3);
}
下面是我所定義的接口
export interface IResponse{
firstName : string;
lastName : string;
age : number
}
當我得到的數據返回,它的屬性使CamelCasing像這樣使它們可以訪問。
response.data.FirstName
response.data.LastName
response.data.Age
後端必須與這種情況下的字段返回的對象是什麼。檢查你在開發工具的網絡標籤中得到了什麼。 –
它返回一個對象的字段,但所有的字段名稱都是Camel Cased,這意味着如果我嘗試訪問data.firstName中的任何代碼,它將是未定義的,但如果我寫data.FirstName它的作品(我不想做因爲在這種情況下typescript命令會拋出一個錯誤) – ATHER
那麼,如果你的後端返回的對象帶有一個名爲FirstName的字段,那麼沒有東西會神奇地將該字段轉換爲firstName。採用一個慣例,堅持它,在後端和前端。 –