我创建了一个接口httpOption qui contient httpParams,当我想将param设置为httpParam时,出现此错误
无法读取未定义的属性“ params”
export interface HttpOptions {
headers?: HttpHeaders;
params?: HttpParams;
reportProgress?: boolean;
withCredentials?: boolean;
}
createUsingPOST(args: { createConventionRequest: models.CreateConventionRequest }, requestHttpOptions?: HttpOptions): Observable<string> {
requestHttpOptions.params.append('responseType', 'text');
}
答案 0 :(得分:0)
requestHttpOptions
是可选的,这意味着如果不在此处,则为undefined
。
在不使用第二个参数的情况下调用方法时,您正在尝试读取params
的属性undefined
,从而引发错误。
如果您希望requestHttpOptions
为默认值,则必须为其提供默认值,例如:
createUsingPOST(args: { createConventionRequest: models.CreateConventionRequest }, requestHttpOptions: HttpOptions = {}): Observable<string> {
但是,它不能完全解决问题,因为您会得到Cannot read property "append" of undefined
。
因此,您必须确定在不提供第二个参数时想要做什么。