首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KnockoutJS数学

KnockoutJS数学
EN

Stack Overflow用户
提问于 2014-04-15 15:44:42
回答 2查看 1.3K关注 0票数 1

我对淘汰赛还不熟悉,我还在思考如何用两个KO变量来做简单的数学(加法和乘法)。

就在我有了:

代码语言:javascript
复制
self.popInc1 = ko.observable('0.3');
self.popIncrease = ko.computed(function () {
    return self.popInc1() + " x " +  self.population();
});

这是伟大的返回和打印出来:"0.3 x 54,556,239

不过,我想把这两个变量相乘。我试过以下几种方法都没有成功。

代码语言:javascript
复制
self.popInc1 = ko.observable('0.3');
self.popIncrease = ko.computed(function () {
    return Math.floor(self.popInc1() * self.population());
});

在分钟0.3是静态的,但最终将是动态的文本输入。

EN

回答 2

Stack Overflow用户

发布于 2014-04-15 15:57:08

像这样的怎么样?http://jsfiddle.net/barryman9000/UNaUk/2/

代码语言:javascript
复制
<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/

代码语言:javascript
复制
_self.population = ko.observable(0);
票数 1
EN

Stack Overflow用户

发布于 2014-04-15 16:26:35

我修正了它,从数组中提取的原始值是一个字符串,而不是一个数字。面部表情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23088510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档