Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法让parseInt在knockout.js上工作(NaN错误)_Javascript_Knockout.js - Fatal编程技术网

Javascript 无法让parseInt在knockout.js上工作(NaN错误)

Javascript 无法让parseInt在knockout.js上工作(NaN错误),javascript,knockout.js,Javascript,Knockout.js,我试图通过knockout.js进行一些计算,但我得到了一个错误 代码如下: function AppViewModel() { aanvoerSl25mm = ko.observable(); lengtePrijs125mm = 1; totaalAanvoer = parseInt(aanvoerSl25mm*lengtePrijs125mm); } ko.applyBindings(new AppViewModel()); totaalAanvoer给我

我试图通过knockout.js进行一些计算,但我得到了一个错误

代码如下:

function AppViewModel() {
    aanvoerSl25mm = ko.observable();
    lengtePrijs125mm = 1;

    totaalAanvoer = parseInt(aanvoerSl25mm*lengtePrijs125mm);


}

ko.applyBindings(new AppViewModel());
totaalAanvoer给我NaN作为输出

这是一把小提琴:


任何帮助都会很棒。谢谢

有几个问题:

  • 正如attila所说,
    aanvoerSl25mm
    是一个函数(可观察对象是函数),因此需要使用
    aanvoerSl25mm()
  • 您没有为
    aanvoerSl25mm
    提供值,因此其当前值未定义。您应该创建一个值,例如
    aanvoerSl25mm=ko.observable(0)
  • 您只需(立即)计算一次该值。您要做的是生成一个计算函数(请参阅)。这意味着当可观测值发生变化时,计算值将自动变化。例如:

    totaalAanvoer=ko.computed(函数(){
    返回parseInt(aanvoerSl25mm()*lengtePrijs125mm);
    });


  • aanvoerSl25mm是一个函数。嗨,阿提拉,谢谢你的快速回答!你能详细说明一下我如何修改代码来得到一个数字而不是NaN吗?谢谢完美的非常感谢你。当然还有阿提拉。