我有以下ES6课程。
class Http {
isFormData;
url;
token;
data;
constructor() {
this.isFormData = false;
this.url = '';
this.token = '';
this.data = {};
}
/** Set url */
setUrl(url: string) {
this.url = url;
return this;
}
/** Set data */
setData(data: Object) {
this.data = data;
return this;
}
}
export default new Http();
我想使其成为打字稿类。我尝试过,但是某些属性无法正确识别。如何使其成为打字稿课?
答案 0 :(得分:5)
您需要指定属性的类型。我还建议您将它们设为私有:
class Http {
private isFormData: boolean;
private url: string;
private token: string;
private data: Object;
constructor() {
this.isFormData = false;
this.url = '';
this.token = '';
this.data = {};
}
/** Set url */
setUrl(url: string) {
this.url = url;
return this;
}
/** Set data */
setData(data: Object) {
this.data = data;
return this;
}
}
export default new Http();
答案 1 :(得分:0)
使用export class Http
导出类更好,这样您就可以导入它
为import {Http} from './http'
export class Http {
isFormData: boolean;
url: string;
token: string;
data: Object;
constructor() {
this.isFormData = false;
this.url = '';
this.token = '';
this.data = {};
}
/** Set url */
setUrl(url: string) {
this.url = url;
return this;
}
/** Set data */
setData(data: Object) {
this.data = data;
return this;
}
}