我试图通过knockout.js做一些计算,但我收到了NaN错误。
这是代码:
function AppViewModel() {
aanvoerSl25mm = ko.observable();
lengtePrijs125mm = 1;
totaalAanvoer = parseInt(aanvoerSl25mm*lengtePrijs125mm);
}
ko.applyBindings(new AppViewModel());
totaalAanvoer给我NaN作为输出。
这是一个小提琴:
http://jsfiddle.net/FullContCoder/3TUsp/2/
任何帮助都会很棒。谢谢!
答案 0 :(得分:1)
有一些问题:
aanvoerSl25mm
是一个函数(observables是函数),所以你需要使用aanvoerSl25mm()
aanvoerSl25mm
提供值,因此其当前值未定义。您应该使用aanvoerSl25mm = ko.observable(0);
您只是计算一次(立即)。你想要做的是创建一个计算函数(见the documentation here)。这意味着当可观察变化时,计算值将自动改变。例如:
totaalAanvoer = ko.computed(function() {
return parseInt(aanvoerSl25mm()*lengtePrijs125mm);
});