我有看起来像这样的Typescript类:
class WordService implements IWordService {
wordCreatedById: number = 0;
wordModifiedById: number = 0;
static $inject = [
"$http",
"$q",
...
];
constructor(
public $http: ng.IHttpService,
public $q: ng.IQService,
...
) {
}
wordClear = (): void => {
this.word = null;
this.wordBase = null;
}
...
}
现在,随着我定义越来越多的功能,我的类(class)文件变得非常长
像wordClear。
有什么办法可以将函数移到另一个文件中并导入它们
上我的课?
最佳答案
如果您要在类定义中使用其他函数,这是实现它的一种方法。让我们将其放入utilFunctions.ts(或任何您想调用的名称)中。
export function wordClear(obj:{word:any, wordBase:any}/*replace with relevant interface*/) :void {
obj.word = null;
obj.wordBase = null;
}
然后在ts文件中
import * as utilFunctions from './utilFunctions'
class WordService implements IWordService {
...
wordClear = ()=>utilFunctions.wordClear(this);
}
要么
import * as utilFunctions from './utilFunctions'
class WordService implements IWordService {
...
public wordClear() {
utilFunctions.wordClear(this);
}
}