我对淘汰赛还不熟悉,我还在思考如何用两个KO变量来做简单的数学(加法和乘法)。
就在我有了:
self.popInc1 = ko.observable('0.3');
self.popIncrease = ko.computed(function () {
return self.popInc1() + " x " + self.population();
});这是伟大的返回和打印出来:"0.3 x 54,556,239“
不过,我想把这两个变量相乘。我试过以下几种方法都没有成功。
self.popInc1 = ko.observable('0.3');
self.popIncrease = ko.computed(function () {
return Math.floor(self.popInc1() * self.population());
});在分钟0.3是静态的,但最终将是动态的文本输入。
发布于 2014-04-15 15:57:08
像这样的怎么样?http://jsfiddle.net/barryman9000/UNaUk/2/
<div data-bind="text: popIncrease"></div>
<input type="text" data-bind="value: userInput, valueUpdate: 'afterkeydown'" />
var ViewModel = function(){
var _self = this;
_self.userInput = ko.observable(0.3);
_self.population = ko.observable(54556239);
_self.popIncrease = ko.computed(function () {
return Math.floor(_self.userInput() * _self.population());
});
};更新我看到你解决了这个问题,但我想我会包括另一个小提琴。您只需在_self.population()初始化时提供一个可以观察到的零,然后在任何用于从数组中获取该值的函数中,您可以更新可观测值,并且您的计算应该可以很好地执行http://jsfiddle.net/barryman9000/UNaUk/3/
_self.population = ko.observable(0);发布于 2014-04-15 16:26:35
我修正了它,从数组中提取的原始值是一个字符串,而不是一个数字。面部表情。
https://stackoverflow.com/questions/23088510
复制相似问题