我有看起来像这样的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);
    }
}

07-24 16:09