【问题标题】:angular - Cannot read property of undefined角度 - 无法读取未定义的属性
【发布时间】:2020-05-11 10:33:10
【问题描述】:

我创建了一个接口 httpOption qui contient httpParams,当我想将参数设置为 httpParam 时,我得到了这个错误

无法读取未定义的属性“参数”

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');
}

【问题讨论】:

  • 你已经明确说过requestHttpOptions可选,如果不通过你想做什么

标签: angular typescript


【解决方案1】:

requestHttpOptions 是可选的,这意味着如果它不在这里,它将是undefined

当您在没有第二个参数的情况下调用您的方法时,您正在尝试读取 undefined 的属性 params,这会引发错误。

如果你希望它是可选的,你必须给requestHttpOptions一个默认值,像这样:

createUsingPOST(args: { createConventionRequest: models.CreateConventionRequest }, requestHttpOptions: HttpOptions = {}): Observable<string> {

但是,它不会完全解决问题,因为您会收到 Cannot read property "append" of undefined

所以你必须决定在没有给出第二个参数时你想要什么行为。

【讨论】:

    猜你喜欢
    • 2015-08-10
    • 2019-04-28
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 2015-02-18
    • 1970-01-01
    相关资源
    最近更新 更多