0

我最近问了一个问题,但无法真正理解答案。这是我能够理解的。有人可以验证这是否是在我有命名空间的地方做类似于 C# 的正确方法吗?请注意,以下是三个文件,它们都相互引用,但此处未显示:

/Admin/dialog/start.ts
module Admin.dialog {
    export function x() { };
    Admin.grid.y(); // executes the function inside of file2.ts
}

/Admin/dialog/file1.ts
module Admin.dialog {
    export function y() { };
}

/Admin/grid/file2.ts   
module Admin.grid {
    export function y() { };
}
4

1 回答 1

2

这是我建议的结构:

./Admin/Dialog.ts

module Admin {
    export class Dialog {
        x() {
            this.y();
        }

        y() {

        }
    }
}

./Admin/Grid.ts

module Admin {
    export class Grid {
        y() {
        }
    }
}

然后,您可以像这样使用这些模块:

///<reference path="./Admin/Dialog.ts" />
///<reference path="./Admin/Grid.ts" />

var dialog = new Admin.Dialog();
dialog.x();

var grid = new Admin.Grid();
grid.y();
于 2012-11-13T15:37:00.047 回答