我正在尝试使用以纯 javascript 编写的现有 AMD 和使用 TypeScript v0.9 的新 TypeScript 文件。我把它分解成一个非常简单的 AMD 来演示这个问题。
首先,我现有的 AMD(activityProperty.js):
define([],
function () {
var activityProperty = function (key, value) {
var self = this;
self.key = key;
self.value = value;
return self;
};
return activityProperty;
});
其次,我使用现有 AMD 的接口定义创建了 activityProperty.d.ts:
export interface IActivityProperty {
key: string;
value: string;
}
最后,我创建了一个全新的 TypeScript 类 (PropertyBag.ts),我希望在其中使用我的旧 activityProperty AMD:
import PropertyModule = require("activityProperty");
class PropertyBag {
private properties: Array<PropertyModule.IActivityProperty>;
constructor() {
this.properties = new Array<PropertyModule.IActivityProperty>();
//this is where my problem is...
//this.properties.push(???new activityProperty()???);
}
}
我一生都无法弄清楚如何使用旧的 AMD 定义来创建activityProperty
该类的新实例。我错过了一些微不足道或明显的东西吗?
感谢您的任何帮助!