0

我正在使用 Knockout 计算的 observable 来乘以其他两个 observables。不幸的是,计算出的 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 都可以完美运行,并且很容易绑定到页面上的元素。我究竟做错了什么?

4

1 回答 1

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

于 2013-05-15T03:14:03.953 回答