繁体   English   中英

Knockout.js计算

[英]Knockout.js computed

我正在使用Knockout.js开发计算器。 我面临着一种我不知道该如何处理的情况。 在下面的示例中,当用户输入产品和值并将值保存在数据库中时,一切正常。 但是,当用户来编辑此页面时,我的要求是显示用户输入的所有值以及总数。 但是,当用户更改产品或数量中的某些内容时,总数应按预期更改。

现在,我们将总计存储在数据库中,并且某些管理员用户可以更改总计。在这种情况下,有没有一种方法可以在用户转到编辑页面时覆盖计算值,但是当用户更改产品或数量时,计算应该使用产品和数量的最新值进行。

感谢帮助。

var TsFoundationDeviceModel = function(product,qty) {
var self = this;
self.product = ko.observable();
self.quantity= ko.observable();
self.computedExample = ko.computed(function() {
   return self.product() * self.quantity() ;
});}

我的HTML代码看起来像

<input name="product" data-bind="value:product">
<input name="value" data-bind="value:value">
<input name="total" data-bind="value:computedExample"/>

您必须将视图绑定到屏幕。 看看这个小提琴并给它

 var TsFoundationDeviceModel = function(product,qty) {
var self = this;
self.product = ko.observable(product);
self.quantity= ko.observable(qty);
self.computedExample = ko.computed(function() {
 return self.product() * self.quantity() ;
});}

ko.applyBindings(new TsFoundationDeviceModel(2,3));

http://jsfiddle.net/Z6VPV/5/

当在您的计算中引用可观察变量时,您需要将它们视为函数,因此不必return self.product * self.quantity ; 您将使用return self.product() * self.quantity();

小提琴: http//jsfiddle.net/SAV9A/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM