角度方法的返回类型需要说明

时间:2019-12-01 11:50:04

标签: angular

我对Angular 8应用程序具有以下方法。此方法基本上返回httpHeaders。我不明白的是返回类型。特别是|符号。我的理解在使用管道时使用。那么有人可以解释一下整个声明的含义吗?

{ headers: HttpHeaders | { [header: string]: string | string[]; } } 

方法

 protected getRequestHeaders(): { headers: HttpHeaders | { [header: string]: string | string[]; } } {
        let headers = new HttpHeaders({
            'Content-Type': 'application/json',
            'Accept': `application/json, text/plain, */*`,
            'Access-Control-Allow-Origin': '*',
            'Access-Control-Allow-Methods': 'GET,DELETE,OPTIONS'
        });

        return { headers: headers };
    }

1 个答案:

答案 0 :(得分:0)

Angular HTML模板中的

|表示法和打字稿中的|表示法都有不同的含义。

对于HTML模板,如您所述,|用于pipes

随着打字稿的进行,

{ headers: HttpHeaders | { [header: string]: string | string[]; } } 

以上语法意味着,方法的返回类型可以具有不同的类型(or

  1. headers: HttpHeaders
  2. [header: string]: string | string[]

第二种类型的值也可以是字符串或字符串数​​组,但是总有一个字符串键。

  1. [header: string]: string
  2. string[]