gpt4 book ai didi

angular - 参数属性只允许在构造函数实现中使用

转载 作者:行者123 更新时间:2023-12-03 14:43:21 25 4
gpt4 key购买 nike

我已经写了这段代码和这行 use(private lang: string): Promise<object>给我一个错误:“参数属性只允许在构造函数实现中”。
当我删除访问修饰符 private 时它可以工作但我只是好奇为什么它会给我这个错误以及正确的方法是什么?

@Injectable()
export class TranslateService {

public data: object = {};

constructor(private http: HttpClient) {}

use(private lang: string): Promise<object> {
return new Promise<object>((resolve, reject) => {
const langPath = `assets/i18n/${lang || 'en'}.json`;

this.http.get<object>(langPath).subscribe(
translation => {
this.data = Object.assign({}, translation || {});
resolve(this.data);
},
error => {
this.data = {};
resolve(this.data);
}
);
});
}

}

最佳答案

删除私有(private)输入

use(private lang: string): Promise<object> {
privatepublic仅用于类级别,而不是功能级别(它们始终是私有(private)的)。

类中唯一的函数接受 public或/和 private是构造函数,因为它将为类分配值并创建属性。

关于angular - 参数属性只允许在构造函数实现中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54627366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com