简单的TypeScript辅助函数

时间:2015-02-17 01:53:35

标签: typescript

我正在尝试创建一个静态帮助函数,我可以从任何TypeScript模块中访问它,我确实找到了这个帖子(Can I declare a static private function in typescript?),其答案似乎是我需要的正确轨道,但是对于某些人来说因为TypeScript 1.4编译器不断抛出此错误:

错误TS2339:属性'对话框'在类型' typeof App'。

上不存在

这是我在utility.ts文件中实现的代码:

module App.Dialog {
    export module Modal {
        export function testHelper(link: string) {
            return 'worked';
        }
    }
}

并在我的主文件中,我希望呼叫testHelper我有:

module App.Services {
    export class OrderService implements Interfaces.IService {
    ...
    App.Dialog.Modal.testHelper('test')
}

这也是各种任意辅助函数的最佳实践吗?我想创建的实际帮助器将被称为getApiDate(),并将返回我需要发送到我的API的精确日期字符串格式,并且需要在任何模块中快速轻松地访问,理想情况下无需实例化整个类,就像你在C#中创建一个静态类和方法一样。

1 个答案:

答案 0 :(得分:3)

该代码工作正常如下所示:

enter image description here

您可能缺少reference标记。完整代码:

utility.ts

module App.Dialog {
    export module Modal {
        export function testHelper(link: string) {
            return 'worked';
        }
    }
}

testHelper.ts

/// <reference path="./utility.ts"/>

module App.Services {
    export class OrderService {
        constructor() {
            Dialog.Modal.testHelper('test');
        }
    }
}

PS:提示您可能已经知道:内部和外部模块之间的区别:https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1