Knockout Computed - 写一个新值

时间:2014-07-10 09:55:12

标签: javascript jquery knockout.js knockout-2.0

我正在使用Knockout构建一个非常数字/选项繁重的应用程序,而我目前正在处理的屏幕上,在幕后发生的事情方面非常复杂。整个屏幕是动态的,显示的选项是从observableArray生成的。

应用程序的工作方式非常复杂,我已经创建了一个精简的JSFiddle,供您在此处查看:http://jsfiddle.net/z56zV/

每当点击该按钮时,我希望getValueOne重置为0,但无论我尝试什么,似乎都没有将值写入getValueOne

PS。我知道你不应该真的提交一篇没有代码的SO帖子,但我觉得最好的方法是让你知道幕后发生的事情就是和JSFiddle一起玩。

更新:我的代码工作到一定程度,其中getValueOne的写入函数正在读取发送给计算机的值,但是我很难将其存储为新值? http://jsfiddle.net/z56zV/1/

1 个答案:

答案 0 :(得分:2)

计算机正在为你计算东西 - 你可以在写入时执行一些操作,但它本身并不是你可以写入的变量。

要清除计算,您必须清除基础数据......

self.resetValueToZero = function () {
    for (var i = 0; i < self.computedValues().length; i++) {
        self.computedValues()[0].value(0);
    }
};

Fiddle Demo