【发布时间】:2014-09-30 12:48:52
【问题描述】:
我使用 Knockout 版本 3.2.0 及其来自 nuget 的 definitelyTyped 定义:
我有一个通过值绑定绑定到输入(类型号)的属性,属性定义是:
export class SomeClass {
myProp: KnockoutObservable<number>;
constructor() {
myProp = ko.observable(0);
}
}
现在,摆弄控制台,当类被初始化时,属性在调用时返回 0。但是,在我更改输入中的值后,该属性开始返回字符串,例如如果我将其更改为 2,则返回值为“2”。当将两个这样的属性加在一起时,这显然是一个问题。
var x = myinstance.myProp() + myinstance.myProp();
结果不是 4,正如您所期望的那样,结果实际上是“22”,即串联。
有什么合理的解决办法吗?这是淘汰赛中的错误还是记录在案的行为?
【问题讨论】:
-
谁更正了文章,请看dictionary.cambridge.org/dictionary/british/behaviour,行为是正确的英式英语拼写!
-
这是一个在 coco 中实现的类型化 observable(只需将其编译为 javascript)。它有很多额外的东西,抱歉我没有太多时间为你打开它。这就是为什么我只是发表评论:github.com/milimetric/limn/blob/master/src/util/knockout/…
标签: javascript knockout.js typescript