我们应该如何在 typescript 中声明 View 模型?
作为类、模块还是作为 var/函数?
在 definitelytyped 示例中,他们主要使用 var 和 function https://github.com/borisyankov/DefinitelyTyped/blob/master/knockout/tests/knockout-tests.ts
编辑:谢谢 Basarat - 在此编辑中,我扩展了问题: 如果我使用类,我想它应该是这样的:
class Player
{
min:KnockoutObservable<number>;
constructor(min:number=0)
{
this.min=ko.observable(min);
}
}
但是应该如何定义 computed 呢?
最佳答案
您可以将计算与泛型(最新的 Typescript 0.9)一起使用,只需在声明中定义类型,然后在构造函数中您将为调用 ko.computed 的结果赋值:
export class Inbox extends vm.BriskIdeaViewModel {
public rapidEntryText = ko.observable<string>();
public todosActive: KnockoutComputed<Array<ITodo>>;
constructor() {
super();
this.todosActive = ko.computed(() => {
return _.filter(this.dataContext.todos(), x => !x.isDone());
});
}
}
关于knockout.js - Typescript 中的 Knockout Viewmodel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17342918/