gpt4 book ai didi

javascript - RequireJS 和 TypeScript 类 - 无法从外部调用函数

转载 作者:行者123 更新时间:2023-11-30 16:50:10 25 4
gpt4 key购买 nike

我很难弄清楚如何混合使用 RequireJs 和 TypeScript。我正在使用 AMD 选项编译 TypeScript。问题是,在导出类中声明的函数被归类为“原型(prototype)”。这正常吗?

ModalHelper.ts:

export class ModalHelper {
saySomething = (something: String) => {
alert(something);
}
}

编译后的 ModalHelper.js:

define(["require", "exports"], function (require, exports) {
var ModalHelper = (function () {
function ModalHelper() {
this.saySomething = function (something) {
alert(something);
};
}
return ModalHelper;
})();
exports.ModalHelper = ModalHelper;
});

Create.ts 和 Create.js(模块被标记为必需):

require(["jquery", "Shared/ModalHelper"], function ($, modal) {
$(function () {
modal.ModalHelper.saySomething("hi");
});
});

为什么我不能调用这个函数?通过调试,我看到模块是通过 RequireJs 添加的。

最佳答案

有两种选择。

你像调用静态方法一样调用它,所以你可以将它设为静态:

export class ModalHelper {
static saySomething = (something: String) => {
alert(something);
}
}

或者,如果您不想让它成为静态的,您可以先实例化 ModalHelper:

var helper = new ModalHelper();
helper.saySomething("hi");

关于javascript - RequireJS 和 TypeScript 类 - 无法从外部调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30635556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com