Angular 6-无法访问外部函数的变量

时间:2018-07-25 15:23:46

标签: angular

export class EditClientComponent implements OnInit {

 apiEndPoint: 'http://localhost:1337/upload';

 fileChange(event) {
 //...
    this.http.post(`${this.apiEndPoint}`, formData, httpOptions)
 //...
 }
}

我收到一个奇怪的错误:

status: 404, statusText: "Not Found", url: "http://localhost:4100/undefined"...

这意味着它根本不读取apiEndPoint ,并且如果我将${this.apiEndPoint}替换为实际的网址,它将起作用。

我该怎么办?

3 个答案:

答案 0 :(得分:5)

将apiEndPoint的声明更改为 = ,而不是

apiEndPoint = 'http://localhost:1337/upload';

您正在指定变量的类型,而不是初始值。

答案 1 :(得分:1)

除上述答复外。如果您已经在var中拥有完整的URL值,则无需格式化字符串。代替此:${this.apiEndPoint}。只需:

this.http.post(this.apiEndPoint, formData, httpOptions)

答案 2 :(得分:1)

在这里apiEndPoint: 'http://localhost:1337/upload';是声明apiEndPoint类型为字符串文字的语句,它的初始值为undefined

固定为此

apiEndPoint:string = 'http://localhost:1337/upload';