我目前正在寻找将我们的项目迁移到 TypeScript。我已经找到了一组很棒的定义文件,我目前正在试验用于Knockout的定义文件。
我知道定义文件有一个 observableArray 的类型KnockoutObservableArray
,我也知道你可以定义一个类型化的数组,比如MyType[]
.
我想知道我是否可以以某种方式将这两者结合起来?我想创建一个KnockoutObservableArray
元素应该是 type 的MyType
。
提前致谢!
TypeScript 的路线图包括泛型,我认为这是您创建所需内容所需要的。以下代码不是真实的,甚至可能不是 TypeScript 团队实现泛型的方式,但它提供了我认为的实现方式的味道。我还遗漏了有关如何使其可观察等的实现细节:
class KnockoutObservableArray <T> {
constructor(public Items: T[]) {
}
}
var observableString = new KnockoutObservableArray<string>(['foo', 'bar']);
但正如我所提到的,TypeScript 中还没有包含泛型,所以现在你必须让它动态化!
var observableString: any;