我创建了以下内容:
module Admin.Grid {
export function addGridControls() {
$('#createLink')
.click(function () {
var $link = $(this);
$link.prop('disabled', true);
adminDialog($link);
return false;
});
}
}
这转换为:
var Admin;
(function (Admin) {
(function (Grid) {
function addGridControls() {
$('#createLink').click(function () {
var $link = $(this);
$link.prop('disabled', true);
adminDialog($link);
return false;
});
以前当它不在模块中时,我调用了这样的函数:
$(document).ready(function () {
"use strict";
addGridControls()
});
现在它在一个模块内部,这是我调用它的最佳方式 函数,以便每次文档准备好时执行它?
答案 0 :(得分:1)
这样做的一种方法是将函数添加到某个对象。
var Admin = {};
(function (Admin) {
(function (Grid) {
Admin.addGridControls = function () {
....
并称之为
$(document).ready(function () {
"use strict";
Admin.addGridControls()
});
答案 1 :(得分:0)
正如@Mike Lin评论的那样,你需要导入模块。
使用TypeScript(并假设采用AMD模块格式,将模块放在另一个文件中),您可以这样做:
import g = module('path-to-admin-grid-module');
$(document).ready(() => {
"use strict";
g.Admin.Grid.addGridControls();
});
否则,如果你只是在同一个文件中使用内部模块,那就简单如下:
$(document).ready(() => {
"use strict";
Admin.Grid.addGridControls();
});
后面的案例在演练:模块示例中很好地预览了:http://www.typescriptlang.org/Playground/
前者有一个非常好的例子:TypeScript compile AMD modules with required defines这里有更详细的介绍:http://requirejs.org/docs/whyamd.html