【发布时间】:2019-07-04 18:12:54
【问题描述】:
我已经编写了这段代码,这行 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);
}
);
});
}
}
【问题讨论】:
标签: angular typescript