javascript - 我可以将函数导入 typescript 类文件吗?

标签 javascript angularjs typescript

我有如下所示的 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;
    }

    ...

}

我的类文件现在变得很长,因为我定义了越来越多的函数 像 wordClear。

有什么方法可以将函数移动到另一个文件中并导入它们 进入我的类(class)?

最佳答案

如果您询问在类定义中使用其他函数,这是实现它的一种方法。让我们把它放在 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);
    }
}

关于javascript - 我可以将函数导入 typescript 类文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37235552/

相关文章:

Typescript:有人能解释一下{}后面的方括号[P]是什么吗?

javascript - 如何在 Angular 5 中从 Typescript 调用 JavaScript 函数?

文本框外的iOS 11语义UI文本框模式光标

javascript - 将某些 observableArray 对象属性转换为 observable

javascript - 根据密码在javascript中生成RSA key 对

javascript - Angular : how can I order ng-repeat by array order?

javascript - 创建水平滚动 ionic/angularjs

javascript - 初始设置要排序的 HTML 列

javascript - 动画 jQuery

javascript - 指令和 $validators 的 ng-repeat