【发布时间】:2019-01-13 17:08:46
【问题描述】:
我正在使用 Typescript、Require 和 AMD 模块。当我调用这个函数时,它返回未定义。如果我记录函数内的值,它们都会正确返回。
如果我不在导出的类中使用 require([ ,它将无法编译。
从 common.ts 文件中导出的类。
export class DateHelpers {
CheckMaxDateRange(fromDate: string, toDate: string, numberOfDays: Number) {
requirejs(["moment", "alertify"], function (moment, alertify) {
moment.locale('en');
var momToDate = moment(toDate, "MM/DD/YYYY");
var momFromDate = moment(fromDate, "MM/DD/YYYY");
var dateDiff = momToDate.diff(momFromDate, 'days');
if (dateDiff < 0) {
alertify.alert("From Date must be before To Date.");
return false;
}
else if (dateDiff > numberOfDays) {
alertify.alert("Date range cannot be greater than " + numberOfDays + " days.");
return false;
}
else {
return true;
}
});
}
}
调用函数
import * as common from "../../Common/Common.js"
let dateHelpers = new common.CheckMaxDateRange();
dateHelpers.CheckMaxDateRange($('#StartDate').val(), $('#EndDate').val(), 365)
我哪里错了?我之前使用的所有导出函数都不需要任何依赖项。
【问题讨论】:
-
你好像把类名和方法名弄混了——应该是
new common.DateHelpers()
标签: javascript typescript requirejs