Knockout计算可观察不起作用

时间:2013-05-14 22:50:39

标签: javascript web-applications knockout.js

我使用Knockout计算的observable来乘以两个其他的observable。不幸的是,计算出的observable似乎没有输出任何值。

var boyle1 = {
volume1_text: ko.observable(parseInt(2)),
volume1_select: ko.observable(parseInt(2))
};
boyle1.volume = ko.computed(function () {
    return this.volume1_text() * this.volume1_select();
}, boyle1);
ko.applyBindings(boyle1);

其他两个observable都可以很好地工作,并且很容易绑定到页面上的元素。我做错了什么?

1 个答案:

答案 0 :(得分:1)

它与您对计算机的html绑定有关。 正如你所说,它实际上是标记中的拼写错误。

<强>标记

<input data-bind="value: volume1_text" />
<input data-bind="value: volume1_select" />
<br /><br />    
<span data-bind="text: volume"></span>

<强>模型

var boyle1 = {
   volume1_text: ko.observable(parseInt(2)),
   volume1_select: ko.observable(parseInt(2))
};

boyle1.volume = ko.computed(function () {
    return this.volume1_text() * this.volume1_select();
}, boyle1);

ko.applyBindings(boyle1);

以下是您的模型和问题的工作示例

http://jsfiddle.net/YBr2m/1